Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Blatt mit "Aufkleber" füllen

Forumthread: Blatt mit "Aufkleber" füllen

Blatt mit "Aufkleber" füllen
16.03.2006 15:06:25
Thorsten
Hallo,
ich möchte gern ein Blatt mit einem Aufkleber füllen. Dazu habe ich ein Vorlagen Tabellenblatt erstellt und da den Aufkleber-Text (unformatiert) und die Anzahl von Aufklebern die ich brauche eingetragen.
Leider kenn ich mich noch nicht all zu gut mit VBA aus. Ich habe aber schon eine grobe Richtung für mein vorhaben als Makro erstellt in meine Excel-Mappe.
Jetzt komme ich leider nichtmehr weiter in meiner For-Schleife. Ich muss nun den Aufkleber-Text von meiner Vorlage in mein Druck-Tabellenblatt bekommen und dabei so Formatieren wie es auf dem Druck Tabellenblatt als Beispiel schon ist.
Ihr könnt euch hier (

Die Datei https://www.herber.de/bbs/user/31963.xls wurde aus Datenschutzgründen gelöscht

)ein Bild meines vorhabens runterladen.
Ich hoffe ich habe es einigermaßen verständlich erklärt und ihr könnt mir dabei weiterhelfen.
Gruß Thorsten
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blatt mit "Aufkleber" füllen
16.03.2006 15:17:49
Reinhard
Hi Thorsten,
ich würde da grundsätzlich erstmal Word--Etikettendruck benutzen.
Gruß
Reinhard
AW: Blatt mit "Aufkleber" füllen
16.03.2006 15:33:25
Thorsten
Hallo Reinhard,
ich will ja keine Etiketten von Zweckform bedrucken, sondern einfach nur ein Blatt das dann irgendwo aufgeklebt wird. Außerdem würde ich es halt gern mit VBA lösen, zudem dürfte das doch kein Problem darstellen es so zu machen. Auch wenn es nicht der idealste Weg sein mag.
Gruß Thorsten
Anzeige
AW: Blatt mit "Aufkleber" füllen
16.03.2006 15:33:32
Thorsten
Hallo Reinhard,
ich will ja keine Etiketten von Zweckform bedrucken, sondern einfach nur ein Blatt das dann irgendwo aufgeklebt wird. Außerdem würde ich es halt gern mit VBA lösen, zudem dürfte das doch kein Problem darstellen es so zu machen. Auch wenn es nicht der idealste Weg sein mag.
Gruß Thorsten
Anzeige
AW: Blatt mit "Aufkleber" füllen
16.03.2006 16:23:55
Reinhard
Hi Torsten,
In G2 noch die Spaltenanzahl angeben
Option Explicit
Sub Copy()
Dim Anzahl As Integer, n As Integer, wsV As Worksheet, wsD As Worksheet
Dim Spalten As Byte, zei As Long, spa As Byte, nn As Byte
Application.ScreenUpdating = False
On Error GoTo ende:
Set wsD = Worksheets("Druck")
Set wsV = Worksheets("Vorlage")
With wsD
Anzahl = wsV.Range("F2") 'Anzahl vom Tabellenblatt "Vorlage" holen
Spalten = wsV.Range("G2") 'Anzahl Spalten nach rechts festlegen für die For-Schleife
.UsedRange.Clear
For n = 1 To Anzahl
zei = Int((n - 1) / Spalten) * 3
spa = n - Int((n - 1) / Spalten) * Spalten
wsV.Range("B2").Copy Destination:=.Cells(zei + 1, spa)
wsV.Range("B3").Copy Destination:=.Cells(zei + 2, spa)
With .Cells(zei + 3, spa)
.Value = Right("000" & n, 3) & " - F01"
.HorizontalAlignment = xlCenter
.Font.Bold = True
End With
With Range(.Cells(zei + 1, spa), .Cells(zei + 3, spa))
For nn = 7 To 10
With .Borders(nn)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Next nn
End With
Next n
End With
ende:
Application.ScreenUpdating = True
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: Blatt mit "Aufkleber" füllen
17.03.2006 12:18:59
Thorsten
Danke für deine Antwort, der Code sieht auf jedenfall besser aus als meiner :)
Aber da kommt nichts bei raus. Ich erhalte auch keine Fehlermeldung, vermutlich weil du n = 1 hast und dann n - 1 in einigen berechnungen verwendest. Aber selbst lösen hab ich es noch nicht können.
Gruß Thorsten
Anzeige
AW: Blatt mit "Aufkleber" füllen
17.03.2006 12:52:55
Reinhard
Hi Thorsten,
mein Code läuft einwandfrei, je nach Vorgaben in F2 und G2 in Blatt Vorlage wird Blatt Druck erstellt.
https://www.herber.de/bbs/user/31986.xls

Gruß Reinhard ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: Blatt mit "Aufkleber" füllen
20.03.2006 09:03:35
Thorsten
Du hast Recht. Mit Excel 2000 Funktioniert es, aber nicht mir Excel 97 :)
Danke
AW: Blatt mit "Aufkleber" füllen
16.03.2006 15:19:05
Klaus
Hallo Thorsten,
da ist kein Makro ...
Ich nehm an es geht um die fortlaufenden Nummern? Was spricht denn gegen deine "Formel"lösung?
Gruß,
Klaus M.vdT.
AW: Blatt mit "Aufkleber" füllen
16.03.2006 15:30:13
Thorsten
Sorry, da scheint was schief gelaufen zu sein hier nochmal und ich bekomm es auch nicht hin das auf der hochgeladenen Mappe das Makro erscheint, komisch. Ich schreib es weiter unten hin.
Ich möchte mich etwas mehr mit VBA beschäftigen und wenn ich ab und an ein Beispiel bekomme wär das eine echte Hilfe. Zumal das ja ein Problem ist das ich damit einfach lösen könnte würde ich mich etwas mehr mit VBA auskennen.
Makro:

Private Sub Copy()
Dim counter As Integer 'counter für Zelleninhalt
Dim row As Integer 'Zeile für die For-Schleife
Dim column As Integer 'Spalte für die For-Schleife
Dim rows As Integer 'Anzahl Zeilen die benötigt werden
Dim columns As Integer 'Anzahl Spalten die benötigt werden
Dim quantity As Integer 'benötigte Anzahl von fertigen Objekten
counter = 0 'counter mit 0 initialisieren
quantity = Worksheets("Vorlage").Range("F2") 'Anzahl vom Tabellenblatt "Vorlage" holen
columns = 6 'Anzahl Spalten nach rechts festlegen für die For-Schleife
rows = quantity / columns * 3 'Anzahl Zeilen nach unten festlegen für die For-Schleife
'letzte Objekte erstellen mit: quantity - rows * columns
For row = 1 To rows
For column = 1 To columns
Next column
row = row + 2
Next row
End Sub

Gruß Thorsten
Anzeige
AW: Blatt mit "Aufkleber" füllen
16.03.2006 16:05:52
UweD
Hallo
hier schon mal das hochzählen usw...
die Konstanten bau bitte selber ein.

Private Sub Copy()
Dim counter As Integer 'counter für Zelleninhalt
Dim row As Integer 'Zeile für die For-Schleife
Dim column As Integer 'Spalte für die For-Schleife
Dim rows As Integer 'Anzahl Zeilen die benötigt werden
Dim columns As Integer 'Anzahl Spalten die benötigt werden
Dim quantity As Integer 'benötigte Anzahl von fertigen Objekten
Dim Teil1%, Teil2$
Teil1 = Worksheets("Vorlage").Range("B4")
Teil2 = Worksheets("Vorlage").Range("D4")
counter = 0 'counter mit 0 initialisieren
quantity = Worksheets("Vorlage").Range("F2") 'Anzahl vom Tabellenblatt "Vorlage" holen
columns = 6 'Anzahl Spalten nach rechts festlegen für die For-Schleife
rows = quantity / columns * 3 'Anzahl Zeilen nach unten festlegen für die For-Schleife
'letzte Objekte erstellen mit: quantity - rows * columns
For row = 1 To rows
For column = 1 To columns
If counter >= quantity Then Exit Sub
Cells(row * 3, column) = Format(Teil1, "000") & " - " & Teil2
Teil1 = Teil1 + 1
counter = counter + 1
Next column
Next row
End Sub

Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: Blatt mit "Aufkleber" füllen
17.03.2006 09:56:39
Thorsten
Danke UweD,
habs bis jetzt sehr gut mit dem Makro-Recorder ergänzen können. Ich hab jetzt nurnoch ein Problem. Wie kann ich mit Cells(row bis row + 3) 3 Zellen markieren?
Der bisherige Code der auch ganz gut funktioniert, wohl aber nicht der effektivste sein sollte :) schreib ich mal hier her:

Private Sub Copy()
Dim counter As Integer 'counter für Zelleninhalt
Dim row As Integer 'Zeile für die For-Schleife
Dim column As Integer 'Spalte für die For-Schleife
Dim rows As Integer 'Anzahl Zeilen die benötigt werden
Dim columns As Integer 'Anzahl Spalten die benötigt werden
Dim quantity As Integer 'benötigte Anzahl von fertigen Objekten
Dim Teil1%, Teil2$
Teil1 = Worksheets("Vorlage").Range("B4")
Teil2 = Worksheets("Vorlage").Range("D4")
counter = 0 'counter mit 0 initialisieren
quantity = Worksheets("Vorlage").Range("F2") 'Anzahl vom Tabellenblatt "Vorlage" holen
columns = 6 'Anzahl Spalten nach rechts festlegen für die For-Schleife
rows = quantity / columns * 3 'Anzahl Zeilen nach unten festlegen für die For-Schleife
'letzte Objekte erstellen mit: quantity - rows * columns
Sheets("Druck").Select
For row = 1 To rows
For column = 1 To columns
If counter >= quantity Then Exit Sub
With Cells(row, column)
.Value = Worksheets("Vorlage").Range("B2")
.Font.Name = "Arial"
.Font.Size = 11
.HorizontalAlignment = xlCenter
.Font.Italic = True
End With
With Cells(row + 1, column)
.Value = Worksheets("Vorlage").Range("B3")
.Font.Name = "Arial"
.Font.Size = 8
.HorizontalAlignment = xlCenter
.WrapText = True
.ShrinkToFit = True
End With
With Cells(row + 2, column)
.Value = Format(Teil1, "000") & " - " & Teil2
.HorizontalAlignment = xlCenter
.Font.Bold = True
End With
Cells(column).columns.AutoFit
With Cells(row * 3, column)
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeLeft).Weight = xlThin
.Borders(xlEdgeLeft).ColorIndex = xlAutomatic
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeTop).Weight = xlThin
.Borders(xlEdgeTop).ColorIndex = xlAutomatic
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeBottom).Weight = xlThin
.Borders(xlEdgeBottom).ColorIndex = xlAutomatic
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlEdgeRight).Weight = xlThin
.Borders(xlEdgeRight).ColorIndex = xlAutomatic
End With
Teil1 = Teil1 + 1
counter = counter + 1
Next column
Cells(row).rows.AutoFit
Cells(row + 1).rows.AutoFit
Cells(row + 2).rows.AutoFit
row = row + 2
Next row
End Sub

Anzeige
AW: Blatt mit "Aufkleber" füllen
17.03.2006 10:19:38
Thorsten
Hier nochmal mein Code, vielleicht kann jemand nochmal drüber schaun und das mit den Bordern Optimieren. Anders hab ichs nich hinbekommen.
Gruß Thorsten

Private Sub Copy()
Dim counter As Integer 'counter für Zelleninhalt
Dim row As Integer 'Zeile für die For-Schleife
Dim column As Integer 'Spalte für die For-Schleife
Dim rows As Integer 'Anzahl Zeilen die benötigt werden
Dim columns As Integer 'Anzahl Spalten die benötigt werden
Dim quantity As Integer 'benötigte Anzahl von fertigen Objekten
Dim Teil1%, Teil2$
Teil1 = Worksheets("Vorlage").Range("B4")
Teil2 = Worksheets("Vorlage").Range("D4")
counter = 0 'counter mit 0 initialisieren
quantity = Worksheets("Vorlage").Range("F2") 'Anzahl vom Tabellenblatt "Vorlage" holen
columns = 6 'Anzahl Spalten nach rechts festlegen für die For-Schleife
rows = quantity / columns * 3 'Anzahl Zeilen nach unten festlegen für die For-Schleife
'Tabellenblatt Druck Löschen um ein Jungfräuliches Blatt zu erhalten
Application.DisplayAlerts = False
Sheets("Druck").Delete
Sheets.Add.Name = "Druck"
Application.DisplayAlerts = True
Sheets("Druck").Select
For row = 1 To rows
For column = 1 To columns
If counter >= quantity Then Exit Sub
With Cells(row, column)
.Value = Worksheets("Vorlage").Range("B2")
.Font.Name = "Arial"
.Font.Size = 11
.HorizontalAlignment = xlCenter
.Font.Italic = True
End With
With Cells(row + 1, column)
.Value = Worksheets("Vorlage").Range("B3")
.Font.Name = "Arial"
.Font.Size = 8
.HorizontalAlignment = xlCenter
.WrapText = True
.ShrinkToFit = True
End With
With Cells(row + 2, column)
.Value = Format(Teil1, "000") & " - " & Teil2
.HorizontalAlignment = xlCenter
.Font.Bold = True
End With
Cells(column).columns.AutoFit
With Cells(row, column)
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeLeft).Weight = xlThin
.Borders(xlEdgeLeft).ColorIndex = xlAutomatic
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeTop).Weight = xlThin
.Borders(xlEdgeTop).ColorIndex = xlAutomatic
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlEdgeRight).Weight = xlThin
.Borders(xlEdgeRight).ColorIndex = xlAutomatic
End With
With Cells(row + 1, column)
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeLeft).Weight = xlThin
.Borders(xlEdgeLeft).ColorIndex = xlAutomatic
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlEdgeRight).Weight = xlThin
.Borders(xlEdgeRight).ColorIndex = xlAutomatic
End With
With Cells(row + 2, column)
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeLeft).Weight = xlThin
.Borders(xlEdgeLeft).ColorIndex = xlAutomatic
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeBottom).Weight = xlThin
.Borders(xlEdgeBottom).ColorIndex = xlAutomatic
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlEdgeRight).Weight = xlThin
.Borders(xlEdgeRight).ColorIndex = xlAutomatic
End With
Teil1 = Teil1 + 1
counter = counter + 1
Next column
Cells(row).rows.AutoFit
Cells(row + 1).rows.AutoFit
Cells(row + 2).rows.AutoFit
row = row + 2
Next row
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige