Hallo,
ich habe in Blatt A eine Zelle (D1:F2), in welche Werte aus dem Blatt B Spalte C (genauer: Zellen C2:C101) eingetragen werden sollen.
Beginnend mit C2, dann werden zwei weitere Makros ausgeführt (quasi "Call Makro_1, Call Makro_2"), dann Zeile C3, wieder die beiden Makros, C4, usw. bis irgendwann mal eine leere Zeile ohne Werte angetroffen wird. Dann soll das Makro stoppen.
Meine VBA-Kenntnisse belaufen sich ziemlich auf 0.
Das meiste Google und kopiere ich mir zusammen, und probiere rum, bis es funktioniert. Wenn ich nicht weiter weiß, muss ich hier nachfragen. Und das ist wieder ein Punkt.
Bislang hatte ich den Code so, dass er nacheinander jede einzelne Zelle in der Spalte C auf Blatt 2 abgefragt hat. Bei 50 Zeilen also 50x den gleichen Code wiederholt, nur jedes Mal Column +1. Wurde da die Reihenfolge geändert, musste ich den Code mühsam anpassen. Nun ist die Darstellung in Spalte C Blatt 2 so, dass leere Zeilen ausgefiltert werden (habe ich mit einer klassischen Formel gelöst), was nun den Weg freimacht, den Code massiv zu vereinfachen und immer eine Zeile weiter runter zu gehen, bis kein Wert in der Zelle mehr ist.
Sieht bislang so aus:
ActiveSheet.Unprotect
Range("D1:F2").Select
ActiveCell = "='Blatt B'!C2"
Call Makro_1
Call Makro_2
ActiveSheet.Protect
Aus dem Blatt B den Wert in Zelle C2 holt er sich also schon mal. Und wie bekomme ich nun die Schleife hin, dass er das bis Zelle C101 bzw. bis zur ersten Zeile mit leerem Inhalt durchrotiert?
Vielen, vielen Dank schon mal für eure Hilfe!
Und ich sollte wirklich mal einen VHS-VBA-Kurs machen! ;)
|