VBA Problem Sprungfunktion
Steffen
Ich habe ein Problem mit einem Makro.
Ich benötige eine Sprungfunktion um von einer Zelle (automatisch nach erfolgter Eingabe) in eine andere Zelle in einer anderen "Mappe" zu springen. Ich hab das mit folgendem Makro gelöst.
(Frage geht unten weiter)
'Sprungbefehl 1a Anfang'
If (Target.Address = "$J$12" And Target.Value < 21) Then
Tabelle4.Select
Tabelle4.Range("E11").Activate
End If
If (Target.Address = "$K$12" And Target.Value < 21) Then
Tabelle4.Select
Tabelle4.Range("E17").Activate
End If
If (Target.Address = "$L$12" And Target.Value < 21) Then
Tabelle4.Select
Tabelle4.Range("E23").Activate
End If
If (Target.Address = "$M$12" And Target.Value < 21) Then
Tabelle4.Select
Tabelle4.Range("E29").Activate
End If
If (Target.Address = "$N$12" And Target.Value < 21) Then
Tabelle4.Select
Tabelle4.Range("E35").Activate
End If
If (Target.Address = "$O$12" And Target.Value < 21) Then
Tabelle4.Select
Tabelle4.Range("E41").Activate
End If
If (Target.Address = "$P$12" And Target.Value < 21) Then
Tabelle4.Select
Tabelle4.Range("E47").Activate
End If
If (Target.Address = "$Q$12" And Target.Value < 21) Then
Tabelle4.Select
Tabelle4.Range("E53").Activate
End If
If (Target.Address = "$R$12" And Target.Value < 21) Then
Tabelle4.Select
Tabelle4.Range("E59").Activate
End If
If (Target.Address = "$S$12" And Target.Value < 21) Then
Tabelle4.Select
Tabelle4.Range("E65").Activate
End If
If (Target.Address = "$T$12" And Target.Value < 21) Then
Tabelle4.Select
Tabelle4.Range("E71").Activate
End If
If (Target.Address = "$U$12" And Target.Value < 21) Then
Tabelle4.Select
Tabelle4.Range("E77").Activate
End If
If (Target.Address = "$V$12" And Target.Value < 21) Then
Tabelle4.Select
Tabelle4.Range("E83").Activate
End If
If (Target.Address = "$W$12" And Target.Value < 21) Then
Tabelle4.Select
Tabelle4.Range("E89").Activate
End If
If (Target.Address = "$X$12" And Target.Value < 21) Then
Tabelle4.Select
Tabelle4.Range("E95").Activate
End If
If (Target.Address = "$Y$12" And Target.Value < 21) Then
Tabelle4.Select
Tabelle4.Range("E101").Activate
End If
If (Target.Address = "$Z$12" And Target.Value < 21) Then
Tabelle4.Select
Tabelle4.Range("E107").Activate
End If
If (Target.Address = "$AA$12" And Target.Value < 21) Then
Tabelle4.Select
Tabelle4.Range("E113").Activate
End If
If (Target.Address = "$AB$12" And Target.Value < 21) Then
Tabelle4.Select
Tabelle4.Range("E119").Activate
End If
If (Target.Address = "$AC$12" And Target.Value < 21) Then
Tabelle4.Select
Tabelle4.Range("E125").Activate
End If
'Sprungbefehl 1a Ende'
Die Startfelder für die 20 Sprungbefehle befinden sich alle in der selben Zeile in den Spalte J-AC
Die Zielfelder in der anderen Mappe befinden sich alle in Spalte E mit jeweils 6 Zeilen Abstand.
Das Makro ansich funktioniert so ganz gut, aber nun mein Problem:
Ich benötige diesen Sprungbefehl insgesamt 63 Mal. Wenn ich das 63 Mal als Makro schreibe wird das Makro zu groß und VBA kann es nicht mehr kompilieren.
Kann man das Makro irgendwie auf 3 Teile a 21 Sprungbefehle Aufsplitten oder kann man das irgendwie als Schleife Porgrammieren? Die Start und Zieladresse ist halt bei jedem der 63 durchläufe eine Andere (aber jedes Mal Start in Spalten J-AC,gleich Zeile und Ziel in Spalte E mit 6 Zielen Abstand).
Kann mir hier irgendwer helfen?
Schöne Grüße
Horst