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

Immer wiederholende Reihenfolge

Immer wiederholende Reihenfolge
09.09.2008 08:35:22
Thomas
Guten Morgen miteinander,
in einer Vorlage mit 25 Seiten habe ich auf jeder Seite bestimmte Felder, die ich mittels einem Steuerelement-Knopf auf die nächste Seite kopieren lasse. Die Vorlagenseiten entsprechen immer der gleichen Vorlage. Sprich es sind 24 Knöpfe, der erste kopiert mir die bestimmten Felder von Seite 1 auf Seite 2 usw.
Derzeit habe ich das so gelöst, dass ich wirklich jedes einzelnes Feld nacheinander kopieren lasse - was natürlich sehr viel Schreibaufwand ist bei 25 Seiten.
Als Beispiel von Seite 1 auf Seite 2:

Private Sub CommandButton1_Click()
'Kopf kopieren Seite 1 zu Seite 2
Application.ScreenUpdating = False
Range("A16:C16").Copy
Range("A58:C58").Select
ActiveSheet.Paste
Range("A19:D19").Copy
Range("A61:D61").Select
ActiveSheet.Paste
Range("G19:H19").Copy
Range("G61:H61").Select
ActiveSheet.Paste
Range("I19:J19").Copy
Range("I61:J61").Select
ActiveSheet.Paste
Range("L19:P19").Copy
Range("L61:P61").Select
ActiveSheet.Paste#
Range("T18:V18").Copy
Range("T60:V60").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub


Beispiel von Seite 2 auf Seite 3:


Private Sub CommandButton2_Click()
'Kopf kopieren Seite 2 zu Seite 3
Application.ScreenUpdating = False
Range("A58:C58").Copy
Range("A100:C100").Select
ActiveSheet.Paste
Range("A61:D61").Copy
Range("A103:D103").Select
ActiveSheet.Paste
Range("G61:H61").Copy
Range("G103:H103").Select
ActiveSheet.Paste
Range("I61:J61").Copy
Range("I103:J103").Select
ActiveSheet.Paste
Range("L61:P61").Copy
Range("L103:P103").Select
ActiveSheet.Paste#
Range("T60:V60").Copy
Range("T102:V102").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub


Dafür müsste es doch einen Befehl geben, der diese Wiederholungsrate von 42 Zeilen erkennt - oder ?
Wäre für eine Lösung sehr dankbar !
Gruß
Thomas

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Immer wiederholende Reihenfolge
09.09.2008 09:32:00
mpb
Hallo Thomas,
wenn ich Dich richtig verstanden habe, müsste folgendes Makro (ungetestet) die gesamten Kopiervorgänge erledigen:

Sub Mehrfach_kopieren()
Application.ScreenUpdating = False
For i = 0 To 24
Range(Cells(i * 42 + 16, 1), Cells(i * 42 + 16, 3)).Copy Destination:=Cells(i * 42 + 58, 1)
Range(Cells(i * 42 + 19, 1), Cells(i * 42 + 19, 4)).Copy Destination:=Cells(i * 42 + 61, 1)
Range(Cells(i * 42 + 19, 7), Cells(i * 42 + 19, 8)).Copy Destination:=Cells(i * 42 + 61, 7)
Range(Cells(i * 42 + 19, 9), Cells(i * 42 + 19, 10)).Copy Destination:=Cells(i * 42 + 61, 9) _
Range(Cells(i * 42 + 19, 12), Cells(i * 42 + 19, 16)).Copy Destination:=Cells(i * 42 + 61,  _
12)
Range(Cells(i * 42 + 18, 19), Cells(i * 42 + 18, 21)).Copy Destination:=Cells(i * 42 + 18,  _
19)
Next i
Application.ScreenUpdating = True
End Sub


Gruß
Martin

Anzeige
AW: Eventuell einfacher
09.09.2008 09:38:11
mpb
Hallo Thomas,
Du kopierst ja immer wieder die "Originale", allerdings nutzt Du als Quelle des Kopiervorgangs jeweils die Zielzellen des vorherigen Kopiervorgangs. Wenn ich das so richtig verstanden habe, sollte folgendes Makro genügen:

Sub Mehrfach_kopieren_alternativ()
Application.ScreenUpdating = False
For i = 0 To 24
Range("A16:C16").Copy Destination:=Cells(i * 42 + 58, 1)
Range("A19:D19").Copy Destination:=Cells(i * 42 + 61, 1)
Range("A19:D19").Copy Destination:=Cells(i * 42 + 61, 7)
Range("I19:J19").Copy Destination:=Cells(i * 42 + 61, 9)
Range("L19:P19").Copy Destination:=Cells(i * 42 + 61, 12)
Range("T18:V18").Copy Destination:=Cells(i * 42 + 18, 19)
Next i
Application.ScreenUpdating = True
End Sub


Gruß
Martin

Anzeige
AW: Immer wiederholende Reihenfolge
09.09.2008 13:29:00
Thomas
Hallo Jungs,
ne ihr habt mich wohl leider falsch verstanden oder ich mich falsch ausgedrückt.
Ich hab nur ein Tabellenblatt wo eben Druckbereichsmäßig mehrere Seiten angelegt sind, spielt im Endeffekt keine Rolle.
Jedenfalls wenn ich auf Seite 1 in den bestimmten Zellen was eintippe und dies auf Seite 2 kopiert haben möchte, drücke ich den Steuerelement-Knopf um von Seite 1 auf Seite 2 die bestimmten Zellen zu kopieren.
Anderer Fall, auf Seite 1 wurde in den bestimmten Zellen was eingetippt was ich auf Seite 2 nicht haben möchte, so betätige ich den Knopf natürlich nicht. So setze ich in den bestimmten Zellen andere Werte ein. Möchte ich diese jedoch von Seite 2 auf Seite 3 kopiert haben, so betätige ich den Knopf neben der Seite 3, der dann von Seite 2 auf 3 kopiert.
Die bestimmten Zellen sind immer um 42 Zeilen wiederholend.
Na, einer noch ne Idee ? - wäre super !
Anzeige
AW: Immer wiederholende Reihenfolge
09.09.2008 13:47:01
mpb
Hallo,
der Threadtitel lautet "Immer wiederholende Reihenfolge" und dafür war das Makro gedacht, nicht für mal so mal so.
Ungetestet:

Sub Mehrfach_kopieren_3()
Application.ScreenUpdating = False
S = InputBox("Seite, auf die kopiert werden soll, eingeben!")
i = S - 1
Range(Cells(i * 42 + 16, 1), Cells(i * 42 + 16, 3)).Copy Destination:=Cells(i * 42 + 58, 1)
Range(Cells(i * 42 + 19, 1), Cells(i * 42 + 19, 4)).Copy Destination:=Cells(i * 42 + 61, 1)
Range(Cells(i * 42 + 19, 7), Cells(i * 42 + 19, 8)).Copy Destination:=Cells(i * 42 + 61, 7)
Range(Cells(i * 42 + 19, 9), Cells(i * 42 + 19, 10)).Copy Destination:=Cells(i * 42 + 61, 9) _
Range(Cells(i * 42 + 19, 12), Cells(i * 42 + 19, 16)).Copy Destination:=Cells(i * 42 + 61,  _
12)
Range(Cells(i * 42 + 18, 19), Cells(i * 42 + 18, 21)).Copy Destination:=Cells(i * 42 + 18,  _
19)
End If
Application.ScreenUpdating = True
End Sub


Gruß
Martin

Anzeige
AW: Immer wiederholende Reihenfolge
09.09.2008 17:06:09
Thomas
stimmt - mein Fehler !
Ich danke Dir vielmals, damit lässt sich doch was anfangen ;-)
Grüße
Thomas
AW: Immer wiederholende Reihenfolge
09.09.2008 11:00:00
Reinhard
Hi Thomas,

Sub nn()
Dim B, Ber, W
Ber = Array("A16:C16", "A19:D19", "G19:H19", "I19:J19")
For B = 0 To 23
For W = 0 To UBound(Ber)
Worksheets(B + 1).Range(Ber(W)).Offset(B * 42, 0).Copy _
Destination:=Worksheets(B + 2).Range(Ber(W)).Offset((B + 1) * 42, 0)
Next W
Next B
End Sub


Gruß
Reinhard

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige