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

Über wahr/Falsch Arbeitsblatt 2 Einblenden

Forumthread: Über wahr/Falsch Arbeitsblatt 2 Einblenden

Über wahr/Falsch Arbeitsblatt 2 Einblenden
22.05.2025 17:23:59
Haudi84
Da meine CHeckboxen(DirecX-Steuerelemente ständig Probleme machen( sie ändern beim anklicken ihr größe) möchte ich diese durch einfache Kontrollkästchen ersetzen.
Ich bin tatsächlich ein VBA Anfänger und suche mir vieles im Netz zusammen, egal was ich finde es funktioniert nichts.

Das Kontrollkästchen kann ja in beliebige Zellen je nach dem ob es aktiviert ist oder nicht WAHR oder FALSCH ausgeben das habe ich getan und wollte mit dieser Zelle dann weiter ein zweites Arbeitsblatt das ansonsten verryhidden ist einblenden lassen.

Sub XY()

If ActiveWorkbook.Sheets("Anhang").Range("E96") = "WAHR" Then
ActiveWorkbook.Sheets("Xy").Visible = True
Else
ActiveWorkbook.Sheets("Xy").Visible = False
End If

End Sub

Funktioniert nur leider nicht.



Ich hoffe Ihr könnt mir helfen.
Gruß Haudi
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Über wahr/Falsch Arbeitsblatt 2 Einblenden
22.05.2025 18:28:17
Kuwer
Hallo Haudi,

"WAHR" ist Text und kein Wahrheitswert. Einfach stattdessen True (ohne Anführungszeichen) würde klappen.
Da es sich ja um einen Wahrheitswert handelt, lässt sich das auch direkt ohne Abfrage steuern:
Sub XY()

With ActiveWorkbook
.Sheets("Xy").Visible = .Sheets("Anhang").Range("E96").Value
End With
End Sub

Gruß, Uwe
Anzeige
AW: Über wahr/Falsch Arbeitsblatt 2 Einblenden
22.05.2025 20:53:43
daniel
Hi
in der verknüpften Zelle steht der Boolsche Wert WAHR oder FALSCH, aber nicht der Text "WAHR"

wenn du den tatsächlichen Zellwert (Value oder nicht angegeben) abfragst, musst du auch den entsprechenden boolschen Wert dagegen setzen, um ein Ergebnis zu bekommen:

If ActiveWorkbook.Sheets("Anhang").Range("E96") = True Then

oder du musst den Zellinhalt als Text abfragen, dann kannst du ihn auch mit Text vergleichen
If ActiveWorkbook.Sheets("Anhang").Range("E96").Text = "WAHR" Then


weil du in der Zelle schon einen boolschen Wert hast, kannst du diesen aber auch direkt verwenden:
Sub XY()

ActiveWorkbook.Sheets("Xy").Visible = ActiveWorkbook.Sheets("Anhang").Range("E96").Value
End sub


Gruß Daniel
Anzeige
AW: Über wahr/Falsch Arbeitsblatt 2 Einblenden
22.05.2025 21:04:52
Piet
Hallo Haudi

wenn nur deine CheckBoxen das Problem sind, das kannst du auch im Code abfangen.
Ich habe auch Dateien wo sich Objekte beim Öffnen Ellenlang verlängern, nicht mehr darstellbar sind!

Abhilfe, beim Workbook Öffnen, oder das Objekt anklicken, seine Größe gezielt neu festlegen!
Jedes Objekt wird definiert durch: -- Top, Left, Width, Height. Den Wert musst du einmal ermitteln.
Dann bei jedem anklicken diese Werte neu setzen. Könnte dir das weiterhelfen??

mfg Piet
Anzeige
AW: Über wahr/Falsch Arbeitsblatt 2 Einblenden
22.05.2025 18:39:26
Dieter(Drummer)
Hallo Haudi,

auch eine Variante wäre, Klick auf Rand der CheckBox1, bei Etnwurfsmodus, und Code einfügen:
Sheets name evtl. anpassen
Private Sub CheckBox1_Click()

If CheckBox1.Value = True Then
Sheets("Xy").Range("E96").Value = "Wahr"
Else
ActiveWorkbook.Sheets("Xy").Range("E96").Value = "Falsch"
End If
End Sub


Sonst kann ich nicht weiter helfen.

Gruß,
Dieter(Drummer)
Anzeige
AW: Über wahr/Falsch Arbeitsblatt 2 Einblenden
22.05.2025 19:43:21
Haudi84
Ihr habt mich glaube ich nicht richtig verstanden.

Das erste Worksheet ist ein Formular für einen Versuchs Antrag, indem man verschiedene Dinge anklicken kann. Und je nachdem welche Maschinen angeklickt werden, werden verschiedene andere Worksheets (Reports zum Ausfüllen) sichtbar.

Mit Active X Steuerelementen (Checkboxen) war das ganz einfach aber dafür machen mir die Checkboxen andere Probleme die ich nicht gebrauchen kann.

Deswegen brauche ich eine Alternative deswegen die Idee Kontrollkästchen mit der Angabe im Anhang wahr/Falsch und mit abfrage dann Worksheet an/aus.
Anzeige
AW: Über wahr/Falsch Arbeitsblatt 2 Einblenden
22.05.2025 20:36:46
Dieter(Drummer)
Hallo Haudi,

evtl. hilft dir das weiter:
Sub Test()

If ActiveSheet.Shapes("Kontrollkästchen 1").ControlFormat.Value = 1 Then
Sheets("Xy").Range("E96").Value = "Wahr"

Else
ActiveSheet.Shapes("Kontrollkästchen 1").ControlFormat.Value = 0 ' Oder .ControlFormat.Checked = False
Sheets("Xy").Range("E96").Value = "Falsch"
End If
End Sub


Gruß,
Dieter(Drummer)
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige