Optionbutton anzeigen in Abhängigkeit von Feldeintrag

20/11/2008 - 15:34 von m-mahle | Report spam
Hallo liebes Forum,

ich bràuchte eine kurze Hilfestellung zum Anzeigen und Verbergen von
ActiveX-Optionbuttons:

- Ich greife mit ODBC auf eine dynamische Datenbank zu, der Inhalt wird alle
5 Minuten aktualisiert
- Ich erzeuge mit SVERWEIS daraus eine Ergebnisliste mit max. 8 Eintràgen
(B2 bis B9).
- Vor diesen Eintràgen befindet sich ein Optionbutton (je einer in A2 bis
A9), hier wird lediglich WAHR/FALSCH in einer anderen Zelle ausgewertet.

Wenn ich jetzt z.B. nur sechs Ergebnisse habe (B7 und B8 ist leer), wàre es
schön, wenn die Optionbuttons vor den leeren Feldern nicht angezeigt würden.
Ich stelle mir das ungefàhr so vor:

Private Sub OptionButtonA8()

If Range("B7") = "" Then
OptionButtonA7.Visible = False
Else
OptionButtonA7.Visible = True
End If

End Sub

Das geht aber nicht automatisch. Ich schàtze, das liegt daran, dass in der
Zelle B7 eine Formel steht, somit nicht leer ist und lediglich das
Formelergebnis "" ist.

Bin für jede Hilfe dankbar!

Gruß

Michael Mahle
 

Lesen sie die antworten

#1 Melanie Breden
20/11/2008 - 16:23 | Warnen spam
Hallo Michael,

"m-mahle" schrieb:
Wenn ich jetzt z.B. nur sechs Ergebnisse habe (B7 und B8 ist leer), wàre es
schön, wenn die Optionbuttons vor den leeren Feldern nicht angezeigt würden.
Ich stelle mir das ungefàhr so vor:

Private Sub OptionButtonA8()

If Range("B7") = "" Then
OptionButtonA7.Visible = False
Else
OptionButtonA7.Visible = True
End If

End Sub

Das geht aber nicht automatisch. Ich schàtze, das liegt daran, dass in der
Zelle B7 eine Formel steht, somit nicht leer ist und lediglich das
Formelergebnis "" ist.



mit der Syntax Range("B7") = "" prüfst du den Wert der Zelle B7.
Ob dieser Wert ein Text oder das Ergebnis einer Formelberechnung
ist, spielt dabei keine Rolle.

Demzufolge müsste deine Prozedur eigentlich funktionieren.
Was genau funktioniert denn nicht?

Du kannst die OptionButton übrigens auch in einer Schleife abarbeiten:

Private Sub SetOptionButton()
Dim i As Long

For i = 2 To 9
With ActiveSheet
.Shapes("OptionButtonA" & i).Visible = .Cells(i, "B").Value = ""
End With
Next i
End Sub


Mit freundlichen Grüssen
Melanie Breden

- Microsoft MVP für Excel -
www.melanie-breden.de

Ähnliche fragen