Hallo,
ein Tabellenblatt wird dynamisch genutzt, d.h. es werden via Access Daten hineinkopiert, mal mehr, mal weniger Reihen Daten. In 4 weiteren Spalten rechts daneben sollen Ergebnisse mittels Formeln dargestellt werden. Ich möchte nicht Formeln bis auf Reihe 100 herunterkopieren, sondern nur bei Bedarf genau die Anzahl an Formeln haben, die benötigt werden.
Hierzu habe ich mir überlegt, dass eine Do Until Schleife überprüft, ob in einer Spalte Daten stehen und dann entsprechend Formeln kopiert und eine Reihe weiter unten wieder einfügt. Dazu habe ich das Makro ..
Sub Kopieren()
Range("D4").Select
Do Until ActiveCell.Value = ""
If ActiveCell.Value = ActiveCell.Offset(1, 0).Value _
Then ActiveCell.EntireRow.Delete _
Else ActiveCell.Offset(1, 0).Select
Loop
End Sub
so versucht umzuschreiben, dass es die Aufgabe erledigen kann, jedoch ohne Erfolg
Sub Makro()
Range("the_formulas").Copy
Range("F5").Select
Do Until ActiveCell.Value = ""
If ActiveCell.Value > "" _
Then ActiveCell.Offset(0, 1).PasteSpecial ActiveCell.Offset(0, -1).Select _
Else: ActiveCell.Offset(1, 0).Select
Loop
End Sub
Der kursive Teil ist das Problem. Ich weiss nicht warum.
Kann mir bitte jemand helfen?
Nochmal zusammengefasst:
. Kopieren der Formeln in Range("the_formulas") > G4:K4
. Start der Abfrage, ob eine Reihe tiefer Daten stehen, zB in Spalte F.
.. Wenn ja, die Formeln in G5:K5 einfügen und zur nächsten Zelle in Spalte F weitergehen
.. Wenn nicht, Exit Sub.
Für jede Hilfe dankbar
Gruss