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
Hallo Benjae,
hast du es schon mal mit Word versucht?
In Word sind schon Etiketten von Zweckform hinterlegt.

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

nein habe ich nicht, da ich keine Vorlagen habe, ich vergaß zu sagen das ich leider noch mit Office97 arbeite.
Gibt es dennoch ein Lösung in Excel?

Gruß Benjae
0 Punkte
Beantwortet von
Hallo Benjae,
auch in Word 97 kann man schon Etiketten erstellen:

Extras -> Umschläge und Etiketten -> Etiketten (-> deine Etikettgröße etc. definieren) -> Neues Dokument

Schon hast du eine DinA4-Seite die genauso aufgeteilt sein sollte wie dein Etikettenpapier, auf der du jedes Feld einzeln beschriften kannst.

Ansonsten gibt es noch von Avery Zweckform den Etikettenassistent.

Gruß
fedjo
0 Punkte
Beantwortet von benjaminm Mitglied (631 Punkte)
Okay, danke.

Aber trotzdem hilft mir das jetzt nicht weiter diese Barcodes zu erstellen.
Und deshalb habe ich mich ja hier im Forum gemeldet!

Ich wollte ja gerne wissen ob mir da jemand mit dem VBA Code weiterhelfen kann der schon in der Datei ist.

Gruß Benjae
0 Punkte
Beantwortet von
Hallo Benjae,

siehe www.file-upload.net/download-2071385/SN2288959_CID_Barcode_bis_5002.xls.html

Angepasst:

Public Sub setupBarcodePages(pages As Integer, startBarcodeValue As Double, count As Integer)

Application.ScreenUpdating = False

fillPageWithBarcodes pages, startBarcodeValue + count - 1, count
setBarcodeCells pages, getBarcodeHeightFirst, getBarcodeHeightSecond, getClearTextHeightFirst, getClearTextHeightSecond

setWorksheet

Application.ScreenUpdating = True

End Sub


Sub fillPageWithBarcodes(page As Integer, startBarcodeValue As Double, count As Integer)
Dim col As Integer, row As Integer

If Not (count = 0) Then
fillPageWithBarcodes page - 1, startBarcodeValue - 1, count - 1
row = (((count - 1) \ 4) + 1) * 4
col = ((count - 1) Mod 4) + 1

Worksheets("Barcodes").Cells(row - 3, col).Value = Format_Code128(getContainerCode(Trim(Str(startBarcodeValue))))
' Worksheets("Barcodes").Cells(row, col).Value = "SID: " + getContainerCode(Trim(Str(startBarcodeValue)))
' Worksheets("Barcodes").Cells(row - 1, col).Value = Format_Code128(getContainerCode(Trim(Str(startBarcodeValue))))
Worksheets("Barcodes").Cells(row - 2, col).Value = "SID: " + getContainerCode(Trim(Str(startBarcodeValue)))
End If

End Sub


Sub setBarcodeCells(pages As Integer, heightFirst As Integer, heightSecond As Integer, clearTextHeightFirst As Integer, clearTextHeightSecond As Integer)
Dim row As Integer

If Not pages = 0 Then
setBarcodeCells pages - 1, heightFirst, heightSecond, clearTextHeightFirst, clearTextHeightSecond
If (pages Mod 4) = 1 Then
row = (pages \ 4 + 1) * 4 ' oder wie oben (ist egal) row = (((pages - 1) \ 4) + 1) * 4


Worksheets("Barcodes").Rows(row - 3).Font.Name = "Code-128-DH"
Worksheets("Barcodes").Rows(row - 3).VerticalAlignment = xlVAlignTop
Worksheets("Barcodes").Rows(row - 3).RowHeight = heightFirst
Worksheets("Barcodes").Rows(row - 3).Font.Size = 22

Worksheets("Barcodes").Rows(row - 2).Font.Name = "Arial"
Worksheets("Barcodes").Rows(row - 2).VerticalAlignment = xlVAlignTop
Worksheets("Barcodes").Rows(row - 2).RowHeight = clearTextHeightFirst
Worksheets("Barcodes").Rows(row - 2).Font.Size = 12

' Worksheets("Barcodes").Rows(row - 1).Font.Name = "Code-128-DH"
' Worksheets("Barcodes").Rows(row - 1).VerticalAlignment = xlVAlignTop
' Worksheets("Barcodes").Rows(row - 1).RowHeight = heightSecond
' Worksheets("Barcodes").Rows(row - 1).Font.Size = 22

' Worksheets("Barcodes").Rows(row).Font.Name = "Arial"
' Worksheets("Barcodes").Rows(row).VerticalAlignment = xlVAlignTop
' Worksheets("Barcodes").Rows(row).RowHeight = clearTextHeightSecond
' Worksheets("Barcodes").Rows(row).Font.Size = 12
End If
End If
End Sub


Public Sub setWorksheet()

Worksheets("Barcodes").PageSetup.Orientation = xlPortrait
Worksheets("Barcodes").PageSetup.LeftMargin = Application.InchesToPoints(0.3)
Worksheets("Barcodes").PageSetup.RightMargin = Application.InchesToPoints(0.3)
Worksheets("Barcodes").PageSetup.TopMargin = Application.InchesToPoints(0.5)
Worksheets("Barcodes").PageSetup.BottomMargin = Application.InchesToPoints(0)
'Wiederholungen dieser 5 Zeilen gelöscht

Worksheets("Barcodes").Columns("A").ColumnWidth = getBarcodeWidthFirst
Worksheets("Barcodes").Columns("B").ColumnWidth = getBarcodeWidthFirst
Worksheets("Barcodes").Columns("C").ColumnWidth = getBarcodeWidthFirst
Worksheets("Barcodes").Columns("D").ColumnWidth = getBarcodeWidthFirst
'Worksheets("Barcodes").Columns("A:A").HorizontalAlignment = xlCenter
'Worksheets("Barcodes").Columns("B:B").HorizontalAlignment = xlCenter
'Worksheets("Barcodes").Columns("C:C").HorizontalAlignment = xlCenter
'Worksheets("Barcodes").Columns("D:D").HorizontalAlignment = xlCenter
Worksheets("Barcodes").Columns("A:D").HorizontalAlignment = xlCenter


End Sub


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

danke das du dich dem angenommen hast!
Das sieht schon total super aus.

Nun hätte ich aber noch eine Bitte, ist es möglich den Code noch so anzupassen, das es dem Bsp. Blatt von der Seiteneinteilung entspricht?

Die Barcodes sollen halt auf eine Selbstklebeetiketten Bogen gedruckt werden, und da sind die Formate ja vorgegeben!

Kannst du da noch was schrauben?
Die Seitenränder des Bogens:
links, rechts 0,7
oben 2,2
unten 2
Und die einzel Feld größen sind:
Breite 48,5mm
Höhe 25,4mm

Und die zwei Zeilen zwischen den Barcodes müssten auch noch weg!(40 Etiketten auf dem kompletten Bogen)
Halt so wie in dem Bsp Blatt (dort ist die Seite auch so eingerichtet wie es sein soll).


Danke & Gruß
Benjae
0 Punkte
Beantwortet von
Hallo Benjae!

Die Barcodes sollen halt auf eine Selbstklebeetiketten Bogen gedruckt werden, und da sind die Formate ja vorgegeben!
Und genau deshalb wäre es ausgesprochen hilfreich, wenn Du die vollständige Bezeichnung Deines Etikettenbogens (- steht auf der Verpackung, manchmal sogar auf der Rückseite der Bögen) mitteilen könntest, z. B. Zweckform 3657 o. ä.

Zweckform 3657 ist für A4H, 297 mm x 210 mm, Seitenrand oben: 2,15 cm, unten: 0 cm (bzw. rechnerisch: 2,15 cm), links: 0,8 cm, rechts: 0,8 cm, 10 x 4 Etiketten mit Höhe: 2,54 cm, Breite: 4,85 cm.

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

sehr gerne, ich wuste nicht das die Bezeichnung so wichtig ist!

Etikettenbogen Marke:
HERMA
SuperPrint
Laser-Copy-Ink
No.4474

10x 4

Danke
0 Punkte
Beantwortet von
Hallo Benjae,

leider bin ich heute den ganzen Tag nicht dazu gekommen 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.

Der Rest, nämlich (1) die Anpassung der Seitenränder und (2) die Anpassung der Barcode-Höhe, ist eigentlich "nur auszuprobieren".

(1) Die Anpassung der Seitenränder erfolgt, wenn ich das richtig verstanden habe, im VBA-Code mit

Worksheets("Barcodes").PageSetup.LeftMargin = Application.InchesToPoints(0.3)
Worksheets("Barcodes").PageSetup.RightMargin = Application.InchesToPoints(0.3)
Worksheets("Barcodes").PageSetup.TopMargin = Application.InchesToPoints(0.5)
Worksheets("Barcodes").PageSetup.BottomMargin = Application.InchesToPoints(0)

(2) Die Anpassung der Barcode-Höhe ist noch einfacher (VBA-frei möglich), da die Angaben im Tabellenblatt "Configuration" stehen und dort jederzeit geändert werden können.

Höhe Barcodefeld Reihe 1 50,25 (= D11)
Höhe Klartextfeld Reihe 1 22,5 (= D13)

Höhe Barcodefeld Reihe 2 50,25 (= D12)
Höhe Klartextfeld Reihe 2 22,5 (= D14)
werden derzeit nicht verwendet.


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 falls erforderlich (sie sind derzeit nämlich - auch in "Bsp" - auf 2,5/2,0/2,0/2,5 eingestellt) 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.

MfG Charlotte
0 Punkte
Beantwortet von
Hallo Benjae,

siehe www.file-upload.net/download-2080403/SN2288959_CID_Barcode_bis_5002.xls.html.

Bearbeitet mit Excel2003.
Für genauere Tests, ob die Barcodes wirklich auf die Etikettenbögen passen, ob Höhen und Breiten stimmen usw. würde ich den Original-Font "Code-128-DH" benötigen, da ich zurzeit nur mit einem Ersatzfond arbeite, der anstelle des fehlenden Original-Fonts verwendet wird. Deshalb sehe ich z. B. für den Barcode SID 1100000001 immer nur "Á1100000001fÈ" und die Barcodes ragen wegen der größeren Zeichenbreite alle über die rechte Zellbrgrenzung hinaus.

Außerdem könnten auch in Abhängigkeit vom Drucker(-treiber) noch geringfügige Abweichungen entstehen.

MfG Charlotte
...