Hallo Zusammen
Mal vorne Weg, ich arbeite mit Office 2007.
Ein kleines Problem, bei dem ich nicht weiterkomme.
Ich möchte in meinem UserForm mehrere Makros die sich nur durch eine Zahl unterscheiden, nacheinander aufrufen.
Bsp.
call Makro1
call Makro2
call Makro3
Nun möchte ich das ganze von einem iterator abhängig machen.
Bsp.
For i = 1 To 3
call Makro & i
Next i
Geht das irgendwie? Ich habe schon mit String, Me(), etc. versucht, bin aber nicht weitergekommen.
Danke für die Hilfe!!
Jochen
Ich möchte in meinem UserForm mehrere Makros die sich nur
durch eine Zahl unterscheiden, nacheinander aufrufen.
Nun möchte ich das ganze von einem iterator abhängig machen.
Geht das irgendwie? Ich habe schon mit String, Me(), etc.
versucht, bin aber nicht weitergekommen.
Hallo Jochen,
ich sage mal nein, das geht nicht. Aber ich bin nicht Alleswisser.
So geht das wenn es dir so passt:
sub tt()
For i = 1 To 3
call Makro(i)
Next i
end sub
sub Makro( byval i as integer)
select case i
case 1
'code 1
case 2
'code 2
case 3
'code 3
case else
'code else
end select
end sub
Gruß
Reinhard
Grüezi Jochen
Wenn Du deine Makros mit Application.Run aufrufst, kannst Du das wie folgt tun:
Sub tr\_CallMakro()
Dim intI As Integer
For intI = 1 To 3
Application.Run "tr\_Makro" & intI
Next intI
End Sub
Public Sub tr\_Makro1()
MsgBox "tr\_Makro1"
End Sub
Public Sub tr\_Makro2()
MsgBox "tr\_Makro2"
End Sub
Public Sub tr\_Makro3()
MsgBox "tr\_Makro3"
End Sub
Mit freundlichen Grüssen
Thomas Ramel
Hammermässig!!!
Danke für die Hilfe. Klappt super.
Jochen
Kleiner Hinweis für solche, die diesen Beitrag lesen:
Das ganze klappt nur mit normalen Makros.
Wenn ihr eine spezifische Funktion eines Objekts (z.B. ComboBox) in eurer UserForm ansprechen wollt, geht das nicht!!
Bsp.
For i = 1 to 3
Application.Run „ComboBox“ & i & „_Change“
Next i
Geht nicht!!