Excel-vba - Select Case Abfrage

Mitglied: goodbytes

goodbytes (Level 2) - Jetzt verbinden

18.09.2011 um 21:44 Uhr, 8050 Aufrufe, 3 Kommentare

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
Mitglied: Biber
18.09.2011 um 22:22 Uhr
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
Bitte warten ..
Mitglied: steini84
18.09.2011 um 22:26 Uhr
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
Bitte warten ..
Mitglied: goodbytes
18.09.2011 um 23:12 Uhr
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
Bitte warten ..
Heiß diskutierte Inhalte
Hardware
Outdoor LAN sichern mit oder ohne Fritzbox Verständnis Frage
bluescreenVor 1 TagFrageHardware17 Kommentare

Hallo zusammen, ich habe die letzten Stunden schon viel hier gelesen, stehe aber ein wenig auf dem Schlauch, wie und wo ich weiter suchen ...

Windows 10
Windows 7 pro Lizenz nutzen für Windows 10
lukas0209Vor 23 StundenFrageWindows 1015 Kommentare

Hallo Community, ich versuche seit einigen Wochen unser Netzwerk von Windows Server 2008 R2 Standard auf Windows Server 2016 Essentials um, welches eine städtische ...

Windows Netzwerk
Telefone im Netzwerk bekannt machen
jannik0205Vor 1 TagFrageWindows Netzwerk13 Kommentare

Hallo Zusammen, In unserem Unternehmen gibt es eine Telefonanlage mit eigenem Telefonienetz (192.168.5.X). Schließe ich ein Telefon an eine Netzwerkdose, bekommt es vom DHCP- ...

Netzwerkgrundlagen
Frage zu LWL Kabel
gelöst NominisVor 1 TagFrageNetzwerkgrundlagen6 Kommentare

Hallo, ich habe nur mal eine kurze Verständnisfrage. Es geht um die Verbindung bzw. Anbindung von Switches (Cisco 48Port 10/100/1000 MBit mit 2 SFP+ ...

Windows Netzwerk
WTS-Anmeldung per RDP am Wochenende verbieten?
MuM2810Vor 1 TagFrageWindows Netzwerk8 Kommentare

Hallo zusammen, wir haben bei uns Windows Server 2016 mit 2 Terminal Servern im Einsatz. Wie aus dem Titel schon ersichtlich ist, ist bei ...

Microsoft
Microsoft Teams - "bitte wenden Sie sich an (. . .) um Teams für "domäne" zu aktivieren" nur bei einem Benutzer
eastfrisianVor 1 TagFrageMicrosoft6 Kommentare

Hallo zusammen! Wir haben bei uns Teams als Hybridversion eingeführt (Exchange on premise, AD-Sync in die Cloud) und nutzen Teams über das basic-Abonnement. Während ...

Netzwerke
Keine Versand von Mails von der Firmen zur Privaten E-Mailadresse möglich
blaub33r3Vor 1 TagFrageNetzwerke6 Kommentare

Hallo zusammen, wieso kommt der User keine Mails mehr? Der Sender wird als Spamer betrachtet? 1. Mailing an andere Privaten Adressen / Firmen Adressen ...

Netzwerke
Netzwerklaufwerk - Nur Lesen (Streamen)
CryexXVor 23 StundenFrageNetzwerke8 Kommentare

Hallo, ich hab mal ne Frage und hoffe auf Lösung. Mir schießt aktuell keine in den Kopf :( Ich möchte ein Netzlaufwerk freigeben. Auf ...