Makro vereinfachen
04.11.2007 12:16:00
andre
ich habe ein Problem und benötige Eure Hilfe. Ich habe ein Makro geschrieben,
Private Sub CommandButton1_Click()
If Len(Worksheets("Tabelle1").Range("D4")) > 0 Then GoTo M001
If Len(Worksheets("Tabelle1").Range("E4")) > 0 Then GoTo M002
If Len(Worksheets("Tabelle1").Range("F4")) > 0 Then GoTo M003
If Len(Worksheets("Tabelle1").Range("G4")) > 0 Then GoTo M004
If Len(Worksheets("Tabelle1").Range("H4")) > 0 Then GoTo M005
GoTo M006
M001: Worksheets("Tabelle1").Range("K4") = Worksheets("Tabelle1").Range("C4") * 12
GoTo M007
M002: Worksheets("Tabelle1").Range("K4") = Worksheets("Tabelle1").Range("C4") * 6
GoTo M007
M003: Worksheets("Tabelle1").Range("K4") = Worksheets("Tabelle1").Range("C4") * 4
GoTo M007
M004: Worksheets("Tabelle1").Range("K4") = Worksheets("Tabelle1").Range("C4") * 2
GoTo M007
M005: Worksheets("Tabelle1").Range("K4") = Worksheets("Tabelle1").Range("C4")
GoTo M007
M006: Worksheets("Tabelle1").Range("K4") = 0
M007:
End Sub
Das ist jetzt 1 "Berechnungsblock", in jedem soll der Zeilenbezug um 1 erhöht werden. Ich brauche die Berechnung für 50 Zeilen. Um nicht 50 Mal diese Makrozeilen zuschreiben lautet meine Frage:
Kann man das evtl. mit einer Schleife vereinfachen. Wie müsste die Zeilenweiterschaltung in einer Schleife aussehen?
Vielen Dank!
Viele Grüsse
Andre