Vereinfachung von VBA-Code, ohne select...
01.06.2005 09:01:19
VBA-Code,
Ich habe eine grosse CASE-Anweisung in einem Makro, das angesprochen wird, wenn in einem pulldownmenu eine auswahl gemacht wird.Dabei wird das listenfeld eines zweiten pulldownmenus beinflusst.
Da ich mir selber Excel und VBA beibringe, komme ich manchmal nicht auf sehr gute lösungen, hier zum beispiel gefällt mir überhaupt nicht, mit select zu arbeiten.
Ich habe mehrere wege versucht,z.b.
with Sheets(x).Shapes(y)
.Listfillrange = z
end with
aber das funktioniert nicht.
Hier mein jetziger code im ausschnitt. Die Case anweisung hat 73 schritte.
1) Ich würde gerne ohne das Select auskommen, wie geht das?
2) Ich würde gerne den Listfillrange in einem Array speichern und
mir die Caseanweisung sparen (da Case 1 = Position 1 im Array)
Ich habe aber keinen blassen schimmer wie ich mit arrrays arbeite. (wie ich sie mitsamt daten zuweise und wie ich ein bestimmtes datum im array anspreche)
Für eure Hilfe wäre ich sehr dankbar, Stefan
Case 1
Sheets("Dialogue").Select
ActiveSheet.Shapes("Drop Down 52").Select
With Selection
.ListFillRange = "'Info General'!$F$86:$F$88"
End With
Case 2
Sheets("Dialogue").Select
ActiveSheet.Shapes("Drop Down 52").Select
With Selection
.ListFillRange = "'Info General'!$F$89:$F$118"
End With