Anzeige
Archiv - Navigation
1724to1728
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Zahk mit Text (1 von 2) etc

VBA Zahk mit Text (1 von 2) etc
07.12.2019 20:53:20
2)
Hallo und guten Abend,
eine besteimmte bereich wird untereinander kopiert, dann wird an hand der Anzahl der Kopieen (Zelle G3) ein zähler gesetzt.
1
2
3
etc
codezeile .Cells((ii * 6) + 6, 1).Value = ii + 1
ich möchte aber gerne anhand der kopieen eien ergänzung mit Text
also 4 Kopienen:
1 von 4
2 von 4
3 von 4
4 von 4
CODE
Option Explicit
Sub Kopieren_Print()
Dim rngVor As Range, lngZ As Long, lngS As Long, rngR As Range, ii As Long
Application.ScreenUpdating = False
With Sheets("Eingabe_Etikett")
Set rngVor = .Range("A1:E6")
lngS = rngVor.Columns.Count
lngZ = rngVor.Rows.Count * .Range("G3").Value
End With
With Sheets("Etikett_print").Range("A1").Resize(lngZ, lngS)
.EntireColumn.Clear ' löschen
rngVor.Copy ' kopieren
.PasteSpecial xlPasteValues
.PasteSpecial xlPasteFormats
.PasteSpecial xlPasteColumnWidths
.Cells.Interior.ColorIndex = xlNone
Application.CutCopyMode = False
For lngZ = 1 To rngVor.Rows.Count ' Zeilenhöhen
Set rngR = .Rows(lngZ)
For ii = 1 To Sheets("Eingabe_Etikett").Range("G3").Value - 1
.Cells((ii * 6) + 6, 1).Value = ii + 1
Set rngR = Union(rngR, .Rows(lngZ + ii * rngVor.Rows.Count))
Next ii
rngR.RowHeight = rngVor.Rows(lngZ).RowHeight
Next lngZ
End With
beste dank im Voraus
Hans

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Zahk mit Text (1 von 2) etc
07.12.2019 22:09:44
2)
Hallo Hans,
das sollte so passen:

.Cells((ii * 6) + 6, 1).Value = ii + 1 & " von " & Sheets("Eingabe_Etikett").Range("G3").Value
Gruß
Regina
AW: VBA Zahk mit Text (1 von 2) etc
07.12.2019 23:03:14
2)
Hallo Regina,
sieht schon sehr aber gut aus, aber nur beim allereste kopie Etikett funktioniert es nicht, alle ander kopieen ab 1 geht.
beste Grüß
Hans
AW: VBA Zahk mit Text (1 von 2) etc
08.12.2019 08:59:22
2)
Hallo Hans,
da ich die original-Aufgabenstellung nicht kenne, kann ich nur mutmaßen. Ich gehe davon aus, dass das erste Etikett ab A1 vorhanden ist und als Kopiervorlage dient. Dann müste es so gehen.
Allerdings beginnt dann das erste Etikett in Zeile 1 und das nächste folgt ab Zeile 12. Ist das so gewollt? Falls nicht, müsstest Du das "+6" in der von Dir geposteten Zeile wegnehmen. Oder poste nochmal die ursprüngliche Aufgabenstellung.
Sub Kopieren_Print()
Dim rngVor As Range, lngZ As Long, lngS As Long, rngR As Range, ii As Long
Application.ScreenUpdating = False
With Sheets("Eingabe_Etikett")
Set rngVor = .Range("A1:E6")
lngS = rngVor.Columns.Count
lngZ = rngVor.Rows.Count * .Range("G3").Value
End With
With Sheets("Etikett_print").Range("A1").Resize(lngZ, lngS)
.EntireColumn.Clear ' löschen
rngVor.Copy ' kopieren
.PasteSpecial xlPasteValues
.PasteSpecial xlPasteFormats
.PasteSpecial xlPasteColumnWidths
.Cells.Interior.ColorIndex = xlNone
Application.CutCopyMode = False
Worksheets("Etikett_print").Range("A1") = "1 von " & Worksheets("Eingabe_Etikett").Range("G3"). _
Value
For lngZ = 1 To rngVor.Rows.Count ' Zeilenhöhen
Set rngR = .Rows(lngZ)
For ii = 1 To Sheets("Eingabe_Etikett").Range("G3").Value - 1
.Cells((ii * 6) + 6, 1).Value = ii + 1 & " von " & Sheets("Eingabe_Etikett").Range("G3").Value
Set rngR = Union(rngR, .Rows(lngZ + ii * rngVor.Rows.Count))
Next ii
rngR.RowHeight = rngVor.Rows(lngZ).RowHeight
Next lngZ
End With
End Sub
Gruß
Regina
Anzeige
AW: VBA Zahk mit Text (1 von 2) etc
08.12.2019 09:58:59
2)
Hallo Regine,
Bereich A1:E6 ist etikett Vorlage, diese wird dan x mall Kopiert (Anzahl eingabe Zelle G3)
im Zelle A6 sollte dir Zähler Kommen 1 von X
wenn ich im A6 manuel 1 eingeben (im alte Makro stand da immer 1 da nur aufgezählt werd) dan zählt er im A12 RICHTIG weiter 2 von 5,
aber Zelle A6 bleibt eingabe 1 stehn, da sollte natürlich 1 von 5 stehn
Screenshot beigefügt mit 5 Etikette richtig sind grün markierten A12,A18 etc.
Userbild
höfentlich hab ich es gut erklärt
Beste Grüße
Hans
Anzeige
AW: VBA Zahl mit Text (1 von 2) etc
08.12.2019 11:49:30
2)
Moin
Ungetestet.
For ii = 1 To Sheets("Eingabe_Etikett").Range("G3") - 1
.Cells(1, 1).Offset(ii * 6, 0) = ii & " von " & Sheets("Eingabe_Etikett").Range("G3")
Set rngR = Union(rngR, .Rows(lngZ + ii * rngVor.Rows.Count))
Next ii

gruss hary
AW: VBA Zahl mit Text (1 von 2) etc
08.12.2019 12:35:26
2)
Hallo Hary
code zeile ersetz, aber kopieren geht aber Zähler geht leider nicht.
Option Explicit
Sub Kopieren_Print()
Dim rngVor As Range, lngZ As Long, lngS As Long, rngR As Range, ii As Long
Application.ScreenUpdating = False
With Sheets("Eingabe_Etikett")
Set rngVor = .Range("A1:E6")
lngS = rngVor.Columns.Count
lngZ = rngVor.Rows.Count * .Range("G3").Value
End With
With Sheets("Etikett_print").Range("A1").Resize(lngZ, lngS)
.EntireColumn.Clear                    ' löschen
rngVor.Copy                            ' kopieren
.PasteSpecial xlPasteValues
.PasteSpecial xlPasteFormats
.PasteSpecial xlPasteColumnWidths
.Cells.Interior.ColorIndex = xlNone
Application.CutCopyMode = False
For lngZ = 1 To rngVor.Rows.Count      ' Zeilenhöhen
Set rngR = .Rows(lngZ)
 For ii = 1 To Sheets("Eingabe_Etikett").Range("G3") - 1
.Cells(1, 1).Offset(ii * 6, 0) = ii & " von " &
Sheets("Eingabe_Etikett").Range("G3")
Set rngR = Union(rngR, .Rows(lngZ + ii * rngVor.Rows.Count))
Next ii
rngR.RowHeight = rngVor.Rows(lngZ).RowHeight
Next lngZ
End With
End Sub

beste gruße
Hans
Anzeige
AW: VBA Zahk mit Text (1 von 2) etc
08.12.2019 12:21:18
2)
..ok, sollte dann so passen:
  Dim rngVor As Range, lngZ As Long, lngS As Long, rngR As Range, ii As Long
Application.ScreenUpdating = False
With Sheets("Eingabe_Etikett")
Set rngVor = .Range("A1:E6")
lngS = rngVor.Columns.Count
lngZ = rngVor.Rows.Count * .Range("G3").Value
End With
With Sheets("Etikett_print").Range("A1").Resize(lngZ, lngS)
.EntireColumn.Clear ' löschen
rngVor.Copy ' kopieren
.PasteSpecial xlPasteValues
.PasteSpecial xlPasteFormats
.PasteSpecial xlPasteColumnWidths
.Cells.Interior.ColorIndex = xlNone
Application.CutCopyMode = False
For lngZ = 1 To rngVor.Rows.Count ' Zeilenhöhen
Set rngR = .Rows(lngZ)
For ii = 1 To Sheets("Eingabe_Etikett").Range("G3").Value
.Cells((ii * 6), 1).Value = ii & " von " & Sheets("Eingabe_Etikett").Range("G3").Value
Set rngR = Union(rngR, .Rows(lngZ + ii * rngVor.Rows.Count))
Next ii
rngR.RowHeight = rngVor.Rows(lngZ).RowHeight
Next lngZ
End With
End Sub
Gruß
Regina
Anzeige
AW: VBA Zahl mit Text (1 von 2) etc
08.12.2019 12:54:42
2)
Hallo Regine
beste Danke, jetzt geht is :-)
danke an alle
einen schöne Sonntag
Hans

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige