Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1008to1012
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

Durchlaufende numerierung beim kopieren bereich

Durchlaufende numerierung beim kopieren bereich
10.09.2008 20:31:33
Karel
Guten abend Forum,
habe letzte mal mit hilfe von euch ein bestimmtes bereich x mal Kopieren in anderes Tabelleblatt Etikett_print gemacht.
zusatz frage:
wie kan man noch eine durchlaufenden nummerierung machen beim Kopieren in Tabelleblat Etikett_print
anzahl durch eingabe in G3 festgelegt
Sehe Etikett_print bereich 1 -8 durchlaufend nummeriert
Option Explicit

Sub test()
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
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
Set rngR = Union(rngR, .Rows(lngZ + ii * rngVor.Rows.Count))
Next ii
rngR.RowHeight = rngVor.Rows(lngZ).RowHeight
Next lngZ
End With
Worksheets("Etikett_print").PrintOut Copies:=1, Collate:=True
Worksheets("Eingabe_Etikett").Range("G3").Value = 1
Application.ScreenUpdating = True
End Sub


Datei als beispiel dabei
https://www.herber.de/bbs/user/55305.xls
Grüsse
Karel

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Durchlaufende numerierung beim kopieren bereich
10.09.2008 20:50:53
Daniel
HI
beispielsweise, in dem du schon in der Vorlage anstelle der "1" folgende Formel eingibst:
= (Zeile()+1)/6
und die Zelle als Zahl ohne Kommastellen formatierst (achtung, falls die Zelle als TEXT formatiert ist, bitte vor eingabe der Formel das Format ändern.
am Makro brauchst du dann nichts zu ändern.
Gruß, Daniel
AW: Durchlaufende numerierung beim kopieren bereich
10.09.2008 21:19:05
Karel
Hallo Daniel,
Da immer gleiche vorlage bereich A1:E6 X Mal Kopiert (nur Werte und Format) untereinander über Makro, funktioniert Formel mit bezug auf Zeile leider nicht.
sehe datei
Grusse
Karel
AW: Durchlaufende numerierung beim kopieren bereich
10.09.2008 22:03:55
Daniel
Hi
doch, geht auch mit nem kleinen Trick:
1. Zelle in der Vorlage als ZAHL ohne Nachkkommastellen formatieren
2. Formel wie beschrieben eingeben aber mit dem Hochkomma davor: '=(Zeile()+1)/6
3. nach dem Kopieren der Daten (als Wert mit Format) dann noch folgende Zeilen einfügen:

With Sheets("Etikett_print").Columns(2)
.formula = . value
end with


alternativ kannst du auch folgende Schleife einsetzen:


For i = 1 to sheets("Eingabe_Etikett").Range("G3").Value
sheets("Eingabe_print").cells(i*6-1,2).value = i
next 


testen kann ichs leider nicht, da das Makro wegen der verbundenen Zellen abbricht
Gruß, Daniel

Anzeige
AW: Durchlaufende numerierung beim kopieren bereich
10.09.2008 23:09:26
Gerd
Hallo Karel,
probier mal.

Sub test()
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
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) + 5, 2).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
Exit Sub
Worksheets("Etikett_print").PrintOut Copies:=1, Collate:=True
Worksheets("Eingabe_Etikett").Range("G3").Value = 1
Application.ScreenUpdating = True
End Sub


Gruß Gerd

Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige