goodbytes
Goto Top

Excel-vba - Select Case Abfrage

Hallo,
irgendwie komme ich mit einer Select Case Abfage nicht klar.

Ich habe eine Mappe mit Optionsfeldern in einer Spalte (befinden sich in einer anderen Arbeitsmappe, welche ich per Makro öffne) .
Diese Optionsfelder sind jeweils mit der darunterliegenden Zelle verknüpft, so dass diese "True" oder "False" zurückliefert.

Wenn jetzt eine Zelle auf "True" gesetzt wird soll eine Schleife zum kopieren von verschiedenen Zellen gestartet werden. Diese Schleife funktioniert auch schon.

Wenn eine Zelle mittels Optionsfeld nun auf "True"gesetzt wir werden zwei Variablen jeweils mit der Startzeile und der Anzahl der Zeilen gesetzt, welche dann in meiner Kopierschleife verwendet werden.
Es darf aim Übrigen auch ohnehin nur ein Optionsfeld auf "True" gesetzt werden; da weiss ich auch noch nicht wie ich das am besten abfange.

Aber irgendwie komme ich mit der Auswertung der Rückgabewerte nicht klar. Ich dachte da an eine Celect Case Geschichte, da es mittels If-Abfragen ja ziemlich aufgebläht wird.

Vielleicht kann mir da ja jemand einen Ansatz für diesen Teil geben?

Danke schon mal im vorraus !!!

Torsten

Content-Key: 173293

Url: https://administrator.de/contentid/173293

Printed on: April 19, 2024 at 08:04 o'clock

Member: Biber
Biber Sep 18, 2011 at 20:22:02 (UTC)
Goto Top
Moin TorstenB,

ich versteh deine Frage nicht ganz.
Geht es dir um eine CASE-Struktur in VBA?
Geht es dir um eine CASE-Struktur in einem Abfrage-SELECT-Statement (also JET-SQL)?

Oder einfacher - wie sieht denn JETZT das Gestrunkele als IF..EndIF-Meterware aus?

Grüße
Biber
Member: steini84
steini84 Sep 18, 2011 at 20:26:21 (UTC)
Goto Top
Hallo,

ich hoffe du hast die Optionsfelder als ActiveX-Element eingefügt und nicht als MSForm. MSForms sind nur noch der Kompatibilität wegen vorhanden.

Also die "Verriegelung" der drei Optionbuttons erreichst du, indem du in den Eigenschaften unter [GroupName] den selben Namen einträgst.

Wenn du im Entwurfsmodus bist, klickst du jeweils auf jeden Optionbutton doppelt und erstellst somit automatisch ein Klick-Event im VBA-Editor.

Dieses Event wird immer dann ausgeführt, wenn jemand einen Button auswählt, die LinkedCell brauchst du somit nicht unbedingt.
Hier kannst du Problemlos, ohne Select Case, die weiteren Optionen übergeben.

MfG Steini
Member: goodbytes
goodbytes Sep 18, 2011 at 21:12:23 (UTC)
Goto Top
Moin Biber und Steini,
@Biber: Als If/End If - Konstrukt hätte ich einfach nach und nach alle zu den Optionsfeldern gehörenden Zellen mit vba der Reihe nach "abgeklappert. und dann im Falle irgendeienes True-Wertes innerhalb der gerade betreffenden Schleife die passenden Variablen gesetzt und wäre mittels Goto über den Rest weg zu meiner Kopierschleife gesprungen. Das ist aber eigentlich ein recht primitiver Weg, welcher auch sicherlich viel Zeit beim Ablaub in Anspruch nimmt.

@Steini: Oh ja, das klingt ja eigentlich wirklich gut. Ich habe die Optionsfelder zwar als MSForm eingefügt; das neu zu machen sollte aber eigentlich nicht das Problem sein. Es hätte auch den Vorteil, dass nicht Alles "abgeklappert" werden müsste. Ich werde es gleich morgen früh mal probieren und melde mich dann. Heute ist es mir ganz einfach zu spät; der Wecker klingelt morgen leider wieder ziemlich früh. face-sad

Ein dickes Danke auf jeden Fall schon mal an euch Beide!

Gruß
Torsten

Anmerkung am 20. September 2011:
Hat prima geklappt! Hab es mit Steini`s Variante einwandfrei hinbekommen.

Ein dickes Dankeschön noch mal !!! face-smile

Torsten