Hallo zusammen,
um mir bei manchen Arbeiten etwas Zeit zu sparen, bastele ich mir ab und zu ein paar Makros. Leider nur auf einem amateurhaften Level und daher habe ich grade auch ein Problem, was ich nicht ganz lösen kann:
Im Prinzip geht es um die Übernahme einer ComboBox-Auswahl in ein Makro.
Zum Aufbau: Ich arbeite mit zwei verschiedenen Workbooks, die zum Teil durch Makros miteinander verknüpft sind. Im ersten Workbook habe ich mir ferner mit UserForms eine Art Bedien-Menü erstellt, wo die Makros gestartet werden und durch ComboBoxen und Textfelder auch eventuell eine Einschränkung getroffen werden kann.
Das Makro (liegt im gleichen Projekt/Workbook wie die Userforms), bei dem ein Problem liegt, hätte ich gerne in zwei Formen:
Die erste Form bearbeitet nacheinander alle Worksheets von Workbook 2 und füllt sie mit Daten aus Workbook 1. Das funktioniert auch alles bestens.
Die zweite Form soll nun zunächst eine Selektion der zu bearbeitenden Worksheets von Workbook 2 durch eine ComboBox ermöglichen, da es leider etwas müßig ist immer alle Worksheets durchlaufen zu müssen, auch wenn man mal nur bestimmte bearbeiten möchte. Hier hängts leider...
Mein bisheriger Ansatz:
DIe ComboBox auf der UserForm wird von einer Liste im WorkBook1 gespeist (die Liste enthält die Namen der Worksheets von Workbook 2). Das funktioniert.
Im Makro habe ich eine If-Frage vor den eigentlichen Prozessablauf gesetzt, damit nur der Auswahl der ComboBox entsprechend dieses Sheet bearbeitet wird. Leider funktioniert diese Erkennung nicht, sodass nun überhaupt kein Sheet bearbeitet wird, da die If-Abfrage ja eregbnislos bleibt.
Hier mein Versuch:
Sub Makro
...
For p = 2 To AnzWS
Set WS = SL.Worksheets(p)
If WS.Name = UserFormX.ComboBox1.Text Then
[Funktion]
End If
Next p
...
End Sub
Hatte das Ganze auch schon versucht mit globalen Variablen zu lösen, aber dafür fehlt mir offensichtlich das nötige Know How, sodass nur Fehlermeldungen oder kein Ergebnis kamen.
Hat jemand eine einfache Lösung um die Eingabe der ComboBox aus der UserForm in das Makro von Workbook1 einzusetzen und anschließend mit den Tabellennamen aus Workbook 2 zu vergleichen?
Für Hilfe schonmal vielen Dank im Voraus,
Molgera
|