Hallo Stefan,
am einfachsten selektierst du Tabelle 1 und speicherst E1 und G1 in Variablen, markierst C12-C20 und kopierst die Markierung in Tabelle2 in die nächste freie Zeile. Da du Leerzeilen in deinen Tabellen2 und 3 zulässt, ist es zweckmäßig, von unter die nächste freie Zeile zu suchen. Die letzte Zeile hat im Allgemeinen die Nummer 65336, sonst müsstest du in der Syntax unten die Befehle anpassen. Wenn noch kein Eintrag oder nur die erste Zeile in den Tabellen vorhanden ist, liefert .End(xlUp) jeweils1, so dass geprüft werden muss, welcher Fall vorliegt.
Dann musst du noch E1 und G1 in die neuen Felder kopieren. Mit Cut löscht du gleichzeitig die kopierten Werte. Für O12-O20 ist der Kopiervorgang zu wiederholen. Danach der gesamte Vorgang auch noch einaml für C23... und O23...
Vorschlag:
Sheets("tabelle1").Select
b = Cells(1, 5)
c = Cells(1, 7)
Range("c12:c20").Select
Selection.Copy
Sheets("tabelle2").Select
Range("a65336").End(xlUp).Activate
a = ActiveCell.Row + 1
If a = 2 And Cells(1, 1) = "" Then a = 1
Cells(a, 3).Select
ActiveSheet.Paste
For i = a To a + 8
Cells(i, 1) = b
Cells(i, 2) = c
Next i
Sheets("tabelle1").Select
Range("o12:o20").Select
Selection.Copy
Sheets("tabelle2").Select
Cells(a, 4).Select
ActiveSheet.Paste
Sheets("tabelle1").Select
Range("c23:c26").Select
Selection.Copy
Sheets("tabelle3").Select
Range("a65336").End(xlUp).Activate
a = ActiveCell.Row + 1
If a = 2 And Cells(1, 1) = "" Then a = 1
Cells(a, 3).Select
ActiveSheet.Paste
For i = a To a + 3
Cells(i, 1) = b
Cells(i, 2) = c
Next i
Sheets("tabelle1").Select
Range("o23:o26").Select
Selection.Copy
Sheets("tabelle3").Select
Cells(a, 4).Select
ActiveSheet.Paste
Sheets("tabelle1").Select
Viel Erfolg
Holger
Stefan schrieb am 21.11.2007 13:40:20:
Hallo zusammen,
ich habe eine Frage zu vBA in Excel. Leider bin ich in der Hinsicht total unbegabt und weiß mir nicht anders zu helfen.
Ich habe ein Formular, in dem unter E1 eine Nr. und G1 ein Datum eingetragen wird. Im Bereich C12-C20 sowie O12-O20 werden Daten eingtragen, ebenso in C23-26 und O23-26.
Diese Daten sollen nun in 2 getrennte Arbeitsblätter als Anhang an die dort bereits bestehenden Daten wie folgt übertragen werden:
Tabelle 2:
E1,G1,C12,O12
E1,G1,C13,O13
...
E1,G1,C20,O20
Tabelle 3:
E1,G1,C23,O23
...
E1,G1,C26,O26
Leerzeilen in den Ausgabetabellen sind unproblematisch. Nach Übertragung der Daten in die Tabellen sollen die Werte in den o.a. Feldern gelöscht werden, um eine neue Eingabe zu ermöglichen.
Ich vermute, dass die Lösung in VbA nicht sonderlich kompliziert ist, ich finde aber noch nicht einmal einen Lösungsansatz.
Vielen Dank für die Hilfe im Vorraus,
mfg Stefan
|