4.6k Aufrufe
Gefragt in Tabellenkalkulation von benjaminm Mitglied (631 Punkte)
Hallo @all,

Kann mir jemand helfen?

Ich habe eine alte Barcodedatei ausgegraben, und wollte diese anpassen, doch es gelingt mir nicht so!

Hat einer Ahnung davon?
Die Änderungen die ich am Code vorgenommen habe, habe ich markiert.
Im Tab.Blatt "Bsp" ist die Einteilung, wie es später aussehen soll.
Mit den richtigen Zellgrößen
-Zellen müssen
-A1-D1 19,67 & 50,25 (B&H)
-A2-D2 19,67 & 22,50 (B&H)

Seitenränder
links, rechts 0,7
oben 2,2
unten 2
siehe Bsp
(die Maße müssen so sein damit sie auf ein Zweckform Etikettenbogen gedruckt werden können, gesammt 40 Etiketten pro Bogen.)

Momentan generiert mir der Code aber die folge Barcodes nur in Spalte A ich brauche das aber durchnummeriert A-D und dann nach unten.

Finde aber die Einstellungen nicht in der VBA.
Bitte kann da mal jemand nach schauen?

Gruß Benjae

Datei

17 Antworten

0 Punkte
Beantwortet von benjaminm Mitglied (631 Punkte)
Hallo Charlotte,

Super vielen Dank für deine Arbeit,
war die letzten zwei Tage nicht online,
hab aber weiter gebastellt.
Mit der ersten Version von dir bin ich jetzt zu einem passablen Ergebnis gekommen,
es gibt nur noch ein paar Schöheitsfehler.

Achja, deine neue Version läuft leider nicht bei mir. :-(

Meinst du das es noch eine bessere Lösung gibt als diese

Private Sub Button_calculate_Click()

replaceBarcodeSheet

If getCount > 0 And getCount < getMaxCount Then

If getStartAt >= getGreatestNumber Then

setGreatestNumber getStartAt + getCount
setupBarcodePages getNeededPages(getCount), getStartAt, getCount
Txtbox_startAt.Text = Str(getGreatestNumber)
setPrinted (False)
ActiveWorkbook.Save
Range("3:4,7:8,11:12,15:16,19:20,23:24,27:28,31:32,35:36").Select
Selection.Delete Shift:=xlUp
Columns("A:D").Select
Selection.ColumnWidth = 24
Range("1:1,3:3,5:5,7:7,9:9,11:11,13:13,15:15,17:17,19:19").Select
Selection.RowHeight = 51
Range("2:2,4:4,6:6,8:8,10:10,12:12,14:14,16:16,18:18,20:20").Select
Selection.RowHeight = 23

With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
ActiveSheet.PageSetup.PrintArea = ""
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.31496062992126)
.RightMargin = Application.InchesToPoints(0.31496062992126)
.TopMargin = Application.InchesToPoints(0.905511811023622)
.BottomMargin = Application.InchesToPoints(0.78740157480315)
.HeaderMargin = Application.InchesToPoints(0.511811023622047)
.FooterMargin = Application.InchesToPoints(0.511811023622047)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
End With
Range("A1").Select

Else

MsgBox "Fehler: Bitte geben Sie für 'Starte bei Barcode' einen Wert größer " + Str(getGreatestNumber) + " ein."

End If

Else

MsgBox "Fehler: Bitte geben Sie für 'Anzahl' einen Wert zwischen 0 und " + Str(getMaxCount) + " ein."

End If
End Sub

um die zwei Zeilen zwischen den Barcodes zu löschen?
Es funtz, es werden auch gleich die Seiten Parameter mitgegeben(Feldgrößen und Seitenränder).
Der Code erstellt die Barcodes und dann sieht man wie er rödelt um die Zellen zu löschen. Kann man das eleganter lösen?

Und mit dem Code den ich bis jetzt habe kann ich max. 40 Barcodes auf einmal erstellen
und müsste dann für vortlaufende jede Seite einzelnt drucken!

hatte die ganze Schose per hand geschrieben für bis zu 1000 Barcodes.
Dann sollte er die Zwischenzeilen löschen, und daraufhin zickte Excel ´97 mit:
Zuviele nicht zusammenhängende Zellen,
Vorgang kann nicht ausgeführt werden.
Blöd!

Wenn du noch mal Zeit findest, könntest du noch mal schauen?

Hier noch mal die aktuelle Datei
0 Punkte
Beantwortet von
Hallo Benjae,

ich finde es, zurückhaltend ausgedrückt, ein bisschen verwunderlich, wenn ich neben dem Dank für die erste Version und einem neuen Versuch von Dir (- Bemerkungen dazu weiter unten) zu der letzten Version nur den knappen Satz lese:

Achja, deine neue Version läuft leider nicht bei mir. :-(

Wenn Du nicht den kleinsten Hinweis lieferst, was funktioniert und was nicht funktioniert (und vielleicht sogar warum?), was Du - je nachdem - unternommen hast, um den Fehler zu finden oder zumindest einzugrenzen, dann hat das 2 Dinge zur Folge: Es wird auch für mich sehr schwer, den Fehler bzw. die Ursache des Nichtfunktionierens zu finden und ich könnte außerdem den Eindruck gewinnen, dass Dir nicht so sehr viel daran liegt.

Immerhin habe ich alles nach bestem Wissen überprüft, eingeschlossen den Download-Link und ob die heruntergeladene Datei auch so funktioniert, wie ich sie erstellt habe. Nachdem ich diese Überprüfung eben noch einmal wiederholt habe, komme ich zu demselben Ergebnis: Bei mir funktioniert es wie erwartet (in Excel 2003, was aber eher keine Rolle spielt).

Da ich so viel wie möglich von dem ursprünglichen Code beibehalten habe, obwohl ich verschiedene Dinge anders machen würde, insgesamt also nur die minimal nötigen Änderungen im Sinne der Anforderung vorgenommen habe, kann ich mir auch nicht erklären, warum plötzlich "gar nichts mehr" funktionieren soll.

Deshalb folgender Vorschlag: Für den Fall, dass die hochgeladene Datei beschädigt sein sollte oder nicht einwandfrei wieder heruntergeladen werden kann, lade ich sie neu hoch. (Bei dieser Gelegenheit bereinige ich vorher noch das Tabellenblatt "Configuration" und lösche ein von mir für Testzwecke eingefügtes Tabellenblatt "InchesToPoints", was ich zwar vergessen hatte, was aber die Funktionstüchtigkeit nicht beeinflusst.)

www.file-upload.net/download-2083673/SN2288959_CID_Barcode_bis_5002.xls.html

Und bitte Dich, es mit dieser Version noch einmal zu versuchen.
__________________________________________________

" ... bin ich jetzt zu einem passablen Ergebnis gekommen,
es gibt nur noch ein paar Schöheitsfehler.
...
Meinst du das es noch eine bessere Lösung gibt als diese ..."

Ich meine ja. Denn es ist sicherlich nicht die allerbeste Lösung, nicht benötigte Zeilen erst zu erstellen und anschließend wieder zu löschen. Das war mein Ansatz in AW9, ich bin am Montag nur nicht mehr dazu gekommen, es auch zu tun.
... und auf die Schnelle schaffe ich das jetzt auch nicht mehr. Um die zwei leeren Zeilen (3, 4, 7, 8, 11, 12, ...) nicht zu erstellen, müsste ich mir den VBA-Code noch mal genau ansehen, vielleicht morgen vormittag.

Da man andererseits überflüssige Zeilen löschen und Seitenränder und Zeilenhöhen auch anders setzen kann als mit VBA, nämlich über Menübefehle u. a., hatte ich für ein VBA-freies Ausprobieren der richtigen Werte vorgeschlagen:
Wenn Du die Zeit nutzen willst, dann erstelle Dir mit der jetzigen Version 40 Barcodes, lösche die überflüssigen Zeilen raus, passe die Seitenränder an ... und taste Dich dann heran, wie die Barcode-Höhe verändert werden muss, damit alle 10 Barcode-Zeilen gut auf ein A4H-Blatt passen.

Das war also nur eine "befristete Zwischenlösung" für Montagabend bis Dienstagmittag. Die letzte Version erstellt genau die Paare von Zeilen (Barcode + SID), die nötig und gewünscht sind, passt die Seitenränder, Formatierung und Ausrichtung in VBA an und erfüllt die Vorgaben (10 x 4 x 2,54 cm x 4,85 cm) bis auf wenige Hundertstel Millimeter.

Deshalb bin ich dafür, es mit dieser Version noch einmal zu versuchen. Falls wieder etwas nicht funktioniert, bitte möglichst genau angeben, was?

MfG Charlotte
0 Punkte
Beantwortet von benjaminm Mitglied (631 Punkte)
Hallo Charlotte,

sorry, es war nicht meine Absicht dich oder deine Arbeit zu diskreditieren.

Ich bekomme folgenden Fehler!
Das/den Wort/Befehl "Replace" kennt Excel´97 scheinbar nicht, aber ich weiß auch nicht wofür das steht.
Wenn ich das "Replace" rausnehme, meckert Excel das die gesamte Funktion fehlerhaft ist.

Dann habe ich am Di. mit der ersten Version weiter gemacht, und deine Vorschlag mit dem "Zellen Löschen" verfolgt.

Hilft diese Fehlerbeschreibung?

Noch mal, sorry war nur ein bischen hilflos am Dienstag.

Gruß Benjae
0 Punkte
Beantwortet von benjaminm Mitglied (631 Punkte)
Hallo Charlotte,

Wenn es jetzt nicht zuviel ist, hätte ich interesse an einer kürzeren Version des Codes!
Hab diese Version hier in meiner Firma von einem ehemaligen Angestellten. Und habe dann angefangen daran rumzubasteln.

Kam dann schnell an meine Grenzen, wollte hier aber nicht mit lehren Händen stehen!

Aber bitte nur wenn es keinen umstand macht!

Gruß Benjae
0 Punkte
Beantwortet von
Hallo Benjae,

hier eine Version ohne Replace(). Downloadlink:
www.file-upload.net/download-2085127/SN2288959_CID_Barcode_bis_5002.xls.html

MfG Charlotte
0 Punkte
Beantwortet von benjaminm Mitglied (631 Punkte)
Hallo Charlotte,

hab vielen herzlichen Dank!

Die Version 3 funtz 100%ig!

Alles Super, vielen Dank für deine Aufopferung an diesem Projekt.

Gruß Benjae
0 Punkte
Beantwortet von
Bitte, gerne. Und danke auch für die Rückmeldung.

Gruß,
Charlotte
...