Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1428to1432
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Case Unterscheidung

Case Unterscheidung
17.06.2015 09:50:33
Toni
Hallo,
ich habe ein Problem und würde mich freuen, wenn mir einer bei der Lösung helfen könnte!
Quelltext:
For Each OleObj In Worksheets("Input").OLEObjects
Select Case Right(OleObj.Name, 1)
'Abfrage jeder Checkbox und eventuelle übergabe an ein Makro und übergabe des jeweiligen y-Wertes für Objektnamen mit der Nummer 1-9
Case Is = "1"
If OleObj.Object.Value = True Then
y = 1
Call xyz(y)
End If
Case Is = "2"
If OleObj.Object.Value = True Then
y = 2
Call xyz(y)
End If
Case Is = "3"
If OleObj.Object.Value = True Then
y = 3
Call xyz(y)
End If
Case Is = "4"
If OleObj.Object.Value = True Then
y = 4
Call xyz(y)
End If
usw.
Diese Case Abfrage geht noch bis Case Is = "9". Danach kommt noch eine Case Abfrage von 10-20:
For Each OleObj In Worksheets("Input").OLEObjects
Select Case Right(OleObj.Name, 2)
Case Is = "10"
If OleObj.Object.Value = True Then
y = 10
Call xyz(y)
End If
Case Is = "11"
If OleObj.Object.Value = True Then
y = 11
Call xyz(y)
End If
Case Is = "12"
If OleObj.Object.Value = True Then
y = 12
Call xyz(y)
End If
Case Is = "13"
If OleObj.Object.Value = True Then
y = 13
Call xyz(y)
End If
Case Is = "14"
If OleObj.Object.Value = True Then
y = 14
Call xyz(y)
End If
usw.
Dabei soll geprüft werden, ob eine Checkbox ausgewählt ist und wenn das der Fall ist soll ein Makro aufgerufen werden. Funktioniert soweit auch.
Problem ist jedoch, wenn die Checkbox mit der Nummer 11 angewählt ist, wird auch für die Checkbox mit der Nummer 1 die Aktion durchgeführt, ohne das diese angewählt ist! Das soll so nicht sein.
Hat jemand eine Idee wie man das lösen kann?
Viele Grüße
Toni

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Case Unterscheidung
17.06.2015 10:13:55
Nepumuk
Hallo,
frag immer 2 Zeichen ab. Also
Case "x1" für Checkbox1
Gruß
Nepumuk

AW: Passt schon, aber
17.06.2015 23:09:37
Gerd
Hallo Toni!
.. falls die Prozedur über eine bekannte Anzahl von Checkboxen laufen soll, die Indizes der Steuerelemente-Namen enthalten sind u. die eine auszuführende Bedingung stets identisch ist,
reicht dies:
Sub c()
Dim i As Integer
For i = 1 To 20
With Worksheets("Input").OLEObjects("CheckBox" & i)
If .Object.Value Then Call xyz(Mid$(.Name, 9))
End With
Next
End Sub
Gruß Gerd

AW: Case Unterscheidung
18.06.2015 15:07:24
Toni
Hi,
vielen Dank für die Antworten. Konnte das Problem mit der Abfrage von 2 Zciehn lösen.
Vielen Dank!
Toni
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige