Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mehrere Checkboxen ausblenden, wenn Zelle leer

Mehrere Checkboxen ausblenden, wenn Zelle leer
14.07.2024 17:19:43
Morph
Hallo an alle,

ich bräuchte eure Hilfe, um 6 Checkboxen (befinden sich alle in der selben Zelle, nur falls das wichtig ist) auszublenden, wenn eine bestimmte Zelle (B2) leer ist. Dasselbe möchte ich in einem Bereich von B2-B26 machen mit jeweils 6 eigenen Kästchen. Brauche ich dafür dann für jede Zeile einen Extra-Code? Zusätzlich, sollen die Checkboxen auch wieder deaktiviert sein, wenn sie wieder erscheinen.
Und wenn sich dann zusätzlich noch de Farbe der Checkbox von Grau zu Schwarz ändern würde, wenn sie aktiviert wird, hab ich endlich die gesamte Datei fertig.
Ich danke jetzt schon mal vielmals für die Hilfe mit meinen Problemen.

Beste Grüße
Marvin
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Checkboxen ausblenden, wenn Zelle leer
14.07.2024 18:02:26
ralf_b
wie benutzt du denn 6 Checkboxen in 1 Zelle?
Wenn deine Datei fertig ist, kannst du uns doch eine Beispieldatei erstellen mit den Checkboxen, und dem Zellbereich den es betrifft. Das spart ne Menge Fragerei.
Du fragst nach den Ausblenden. Das Einblenden hast du wohl schon fertig? Zeig gleich mal mit in der Beispieldatei.
Anzeige
AW: Mehrere Checkboxen ausblenden, wenn Zelle leer
15.07.2024 10:31:15
daniel
Hi
kannst du mal eine Beispieldatei hochladen?
es wäre wichtig zu wissen, ob du ActiveX- oder Formularfeld-Checkboxen verwendest und wie die Zellen B2:B26 zu ihrem Wert kommen.
Werden die vom Anwender direkt befüllt oder steht da eine Formel drin?
die nächste Frage wäre, wie kann man erkennen, welche Checkboxen zu welcher Zelle gehören, dh. stehen die in der gleichen Zeile ? wenn nein, wie dann?
Gruß Daniel
Anzeige
AW: Mehrere Checkboxen ausblenden, wenn Zelle leer
15.07.2024 14:28:47
Morph
Hallo Daniel,

danke, für die Rückfrage. Bitte verzeih, dass ich sehr unbeholfen in dem Thema bin. Versuche eigentlich zusammen mit meinem Chef unsere Kinderklinik zu digitalisieren und bin eindeutig kein ITler. :D
Die Zellen B2-B26 werden von Hand beschrieben (im endgültigen Dokument stehen dort Namen). Ich habe es schon geschafft, dass die Spalten C-H in der jeweiligen Zeile geleert werden, wenn entsprechende Zelle B geleert wird (z.B. wenn jemand entlassen wird). Nun möchte ich, dass die Kontrollkästchen der jeweiligen Zeile nicht angezeigt werden, wenn B nicht beschrieben ist (wird dann übersichtlicher). Zudem soll die Beschriftung des jeweiligen Kontrollkästchens hellgrau/ausgegraut sein, wenn das Kätschen inaktiv ist.
Vielen vielen Dank für die Rückmeldung.
https://www.herber.de/bbs/user/170902.xlsm

Beste Grüße
Marvin
Anzeige
AW: Mehrere Checkboxen ausblenden, wenn Zelle leer
15.07.2024 15:02:38
daniel
Hi
probier mal diesen Code im Modul des Tabellenblatts:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim shpe As Shape
If Not Intersect(Target, Range("B6:B15")) Is Nothing Then
For Each shpe In Me.Shapes
With shpe.TopLeftCell
If .Column = 9 Then
If .Row >= 6 Then
If .Row = 15 Then
If Intersect(.EntireRow, Columns(2)) = "" Then
shpe.Visible = False
Else
shpe.Visible = True
shpe.OLEFormat.Object.Value = False
End If
End If
End If
End If
End With
Next
End If

End Sub

die Gültigkeiten (Zeilen, Spalten) habe ich deiner Beispieldatei entnommen, die musst du ggf anpassen.
Grau bei nicht angehakt sein ist mit Formularsteuerelementen nicht möglich, das ginge ggf mit ActiveX
allerdings bedeutet ein ausgegrauter Text normalerweise, dass dieses Kontrollkästchen gesperrt ist und gar nicht ausgewählt werden kann.
für die Anzeige, ob es ausgewählt ist oder nicht, ist der Haken da.

Gruß Daniel
Anzeige
AW: Mehrere Checkboxen ausblenden, wenn Zelle leer
15.07.2024 19:29:18
Morph
Hey Daniel,

wirklich vielen lieben Dank. Ein Problem gibt es noch: Wenn ich B6 leere, dann werden die ersten 3 Kontrollkästen von I6 und die letzten 3 von I7 etc. ausgeblendet. Ich werde nicht ganz schlau woran es liegt. Könntest du noch einmal drüber schauen.

Gruß
Marvin
AW: Mehrere Checkboxen ausblenden, wenn Zelle leer
15.07.2024 20:00:07
daniel
du musst schauen, ob die Linke obere Ecke (TopLeftCell) der Checkbox in der richtigen Zelle liegt.
dabei ist der rechteckige Rahmen mit den Kreisen an den Ecken relevant, der erscheint wenn du die Checkbox zum Bearbeiten markierst.
Gruß Daniel
Anzeige
AW: Mehrere Checkboxen ausblenden, wenn Zelle leer
15.07.2024 21:18:14
Morph
Könntest du mir noch helfen beide Codes miteinander zu verbinden? Oder kann ich einen von beiden umbenennen, dass er trotzdem noch funktioniert?
Private Sub Worksheet_Change(ByVal Target As Range)

Dim rngTMP As Range
On Error GoTo Fin
Application.EnableEvents = False
If Not Intersect(Target, Range("B2:B26")) Is Nothing Then
For Each rngTMP In Target
If Trim(rngTMP.Value) = "" Then
Range(Target.Offset(0, 1), Target.Offset(0, 6)).ClearContents
End If
Next rngTMP
End If
Fin:
Application.EnableEvents = True
If Err.Number > 0 Then MsgBox "Error: " & Err.Number & " " & Err.Description
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)

Dim shpe As Shape
If Not Intersect(Target, Range("B2:B26")) Is Nothing Then
For Each shpe In Me.Shapes
With shpe.TopLeftCell
If .Column = 9 Then
If .Row >= 2 Then
If .Row = 26 Then
If Intersect(.EntireRow, Columns(2)) = "" Then
shpe.Visible = False
Else
shpe.Visible = True
shpe.OLEFormat.Object.Value = False
End If
End If
End If
End If
End With
Next
End If

End Sub
Anzeige
AW: Mehrere Checkboxen ausblenden, wenn Zelle leer
15.07.2024 21:38:58
daniel
Es kann auf jedem Tabellenblatt nur genau ein Makro geben, das automatisch ausgeführt wird, wenn du einen Zellwert änderst.
Das liegt daran, dass dieses Makro genau so benannt sein muss:
"Private Sub Worksheet_Change(ByVal Target As Range)"
und es diesen Namen im Modul nur einmal geben darf.

daher musst du die beiden Makros zu einem zusammenfassen.
ja dazu muss man sich mal damit beschäftigen, was die Makros machen damit man erkennt, was in welcher Reihenfolge ablaufen muss.
aber das muss du dir sowieso erarbeiten, da letztendlich du dafür verantwortlich bist, dass das ganze funktioniert.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige