Thema Datum  Von Nutzer Rating
Antwort
26.08.2009 13:11:51 matzek89
NotSolved
27.08.2009 10:43:35 Holger
NotSolved
Rot Aw:Aw:VBA/Makro Schleife für Zellen kopieren
27.08.2009 12:55:38 matzek89
NotSolved
27.08.2009 17:59:15 Holger
NotSolved
28.08.2009 10:46:33 matzek89
NotSolved

Ansicht des Beitrags:
Von:
matzek89
Datum:
27.08.2009 12:55:38
Views:
1642
Rating: Antwort:
  Ja
Thema:
Aw:Aw:VBA/Makro Schleife für Zellen kopieren
Hallo Holger,

erstmal vielen Dank für deine Hilfe.

Das Makro funktioniert soweit echt super. Nur gibt es leider noch eine Sache, die geändert werden müsste. Habe es schon selber versucht zu ändern, hat aber irgendwie nicht funktioniert. (Ist nur Schmarn dabei rausgekommen)

Da ich mit meinem Makro, welches ich in meinem ersten Beitrag aufgezeigt habe, meine Tabelle immer um eine Zeile nach unten erweitere, müsste die neue Zeile auch unten eingefügt werden.

Sprich wenn meine Tabelle 20 Zeilen hat (inklusive Überschrift), wird durch mein Makro eine 21ste Zeile eingefügt (unter der 20sten). In die 21ste Zeile trage ich nun das Datum usw. ein, wie bereits im ersten Beitrag beschrieben.

Wenn ich jetzt in der neu eingefügten Zeile stehe (21ste), dann müsste das datum quasi bei der nächsten Tabelle auch in die unterste (neue) Zeile eingefügt werden.

Kann man das Makro, dass du geschrieben hast, eventuell den Umständen entsprechend anpassen?

Gruß

Holger schrieb am 27.08.2009 10:43:35:

Hallo matzek89,
ich gehe davon aus, dass du das Einfügen von Zeilen immer im ersten Block (01.01.) durchführst und zwischen den Blocks eine Leerzeile ist. Die Überschriften stehen in jedem Block. Wenn du die Markierung in der eingefügten Zeile stehen lässt, kopiert nachstehendes Makro diese Zeile in die übrigen 364 Blöcke und setzt das Datum jeweils um 1 hinauf.

a = MsgBox("Steht aktive Zelle im zu kopierer Zeile?", vbYesNo + vbQuestion)
If a <> vbYes Then Exit Sub
a = ActiveCell.End(xlUp).Row 'erste Zeile im Block mit aktiver Zelle
If a <> 1 Then MsgBox "Die Markierung steht nicht im ersten Block!", vbExclamation: Exit Sub
z = ActiveCell.End(xlDown).Row 'letzte Zeile im Block
Blocklänge = z - a + 1
r = ActiveCell.Row - a + 1 'relative Zeilennummer im bearbeiteten Block
For i = 1 To 364
Rows(ActiveCell.Row).Copy
Rows(r + (z + 1) * i).Insert Shift:=xlDown
Cells(r + (z + 1) * i, 1) = Cells(r + (z + 1) * i, 1) + i
Next i

Gruß
Holger


matzek89 schrieb am 26.08.2009 13:11:51:

Hallo zusammen,

habe derzeit ein mehr oder weniger kleines Problem mit ein paar Tabellen in Excel und brauche hierbei unbedingt Hilfe.

Ich habe in einem Tabellenblatt 365 Tabellen untereinnander erstellt. Dies sieht in etwa so aus:

A B C D E
Datum Text Text Text Text
01.01.
01.01.
01.01
01.01.

Datum Text Text Text Text
02.01.
02.01.
02.01.
02.01.

Das Datum erhöht sich in jeder Tabelle um einen Tag.

Da ich die Tabellen öfters um eine Zeile nach unten erweitern muss, habe ich mir schon ein Makro zusammen gesucht, dass so aussieht:

For i = 1 to 5000 step 5

Rows(i).Select
Selection.Insert Shift:=xlDown
i = i+1

(Den "step" ändere ich je nachdem wie ich ihn brauche ab)

Wenn ich durch das Makro oben nun jeweils eine Leerzeile mehr habe, trage ich die neuen Daten in diese ein. Das mache ich aber nur in der ersten Leerzeile. Sprich ich erweitere die erste Tabelle mit beispielsweise "01.01.2009" und Trage bei den Spalten "Text" jeweils eine beliebige Zahl ein.

Jetzt bräuchte ich ein Makro, welches es mir ermöglicht die neu eingetragene Zeile in die anderen neuen Leerzeilen zu kopieren. Hierbei muss aber das Datum (wie in meinem Tabellen Beispiel oben aufgezeigt) immer um einen Tag erweitert werden und dass nur (wie im Makro Beispiel) alle 5 Zeilen. Das erweitern trifft jedoch nur auf das Datum zu, sprich auf Spalte A. Der Rest sollte Kopiert werden.

Ist das irgendwie möglich? Wäre echt klasse wenn mir da jemand helfen könnte, da es sonst immer ein RIEßEN Aufwand ist, diese Tabellen zu erweitern.

Danke im Voraus.

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
26.08.2009 13:11:51 matzek89
NotSolved
27.08.2009 10:43:35 Holger
NotSolved
Rot Aw:Aw:VBA/Makro Schleife für Zellen kopieren
27.08.2009 12:55:38 matzek89
NotSolved
27.08.2009 17:59:15 Holger
NotSolved
28.08.2009 10:46:33 matzek89
NotSolved