Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Spalte mit Bedingung ein-/ausblenden

VBA Spalte mit Bedingung ein-/ausblenden
12.10.2022 20:12:31
FrankS
Hallo zusammen,
ich möchte eine Spalte automatisch ein-/ ausblenden lassen.
Einblenden wenn in Zelle AS1 = ja
Ausblenden wenn in Zelle AS1 = nein eingetragen ist
Ich habe den Code im "Worksheet" mit "Change" hinterlegt:
Es handelt sich um die Spalte T im gleichen Arbeitsblatt:

Private Sub Worksheet_Change(ByVal Target As Range)
'Prüfen, ob Wert "ja" in Zelle AS1 steht
If Range("AS1").Value = "ja" Then
'Blattschutz ausschalten
Tabelle4.Unprotect
'Schritt - Zellen formatieren - Schutz - nicht gesperrt
Tabelle4.Range("T").Locked = False
'Spalte T ausblenden
Tabelle4.Columns("T").Hidden = True
'Blattschutz einschalten
Tabelle4.Protect
ElseIf Range("AS1").Value  "ja" Then
'Blattschutz ausschalten
Tabelle4.Unprotect
'Schritt - Zellen formatieren - Schutz - nicht gesperrt
Tabelle4.Range("T").Locked = False
'Spalte T einblenden
Tabelle4.Columns("T").Hidden = False
'Schritt - Zellen formatieren - Schutz - nicht gesperrt
Tabelle4.Range("T").Locked = True
'Blattschutz einschalten
Tabelle4.Protect
End If
End Sub
Hat jemand eine Idee was ich falsch gemacht habe? Vielen Dank im Voraus.
VG
Frank
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fragen
12.10.2022 20:28:17
GerdL
Hallo Frank,
Zelle AS1 erhält ihren Wert per Eingabe oder per Formel?
Den Code hast du ins Codefenster der Tabelle mit dem Codenamen Tabelle 4 eingefügt?
Passiert zur Zeit nichts oder erhältst du welche Fehlermeldung?
Gruß Gerd
AW: Fragen
12.10.2022 22:02:29
FrankS
Hallo Gerd,
den Wert erhält die Zelle AS1 per Formel aus einem anderen Tabellenblatt. In dem anderen Tabellenblatt wird ein Wert "JA" / "Nein" per Dropdownmenü ausgewählt. Dieser wird in Tabelle4 per Formel übernommen.
Den Code hast du ins Codefenster der Tabelle mit dem Codenamen Tabelle 4 eingefügt? Ja genau, habe ich. Aktuell passiert nichts.
VG Frank
Anzeige
AW: VBA Spalte mit Bedingung ein-/ausblenden
12.10.2022 22:48:24
GerdL
Hallo Frank,
eine Rückmeldung ist der einzige Dank für die Antworter.
Nimm mal diesen Code ins Modul der Tabelle ,mit Codenamen Tabelle4. Es kann sein, dass du mit "Hidden" und "Locked" noch spielen musst.
Man hätte auch im "anderen Blatt" das Worksheet_Change auf die Eingabezelle reagieren lassen können.

Private Sub Worksheet_Calculate()
With Application
.Calculation = xlCalculationManual
.EnableEvents = False
End With
'Prüfen, ob Wert "ja" in Zelle AS1 steht
If LCase(Range("AS1").Value) = "ja" Then
'Blattschutz ausschalten
Me.Unprotect
'Schritt - Zellen formatieren - Schutz - nicht gesperrt
Range("T:T").Locked = False
'Spalte T ausblenden
Columns("T").Hidden = True
'Blattschutz einschalten
Me.Protect
ElseIf LCase(Range("AS1").Value)  "ja" Then
'Blattschutz ausschalten
Me.Unprotect
'Schritt - Zellen formatieren - Schutz - nicht gesperrt
Range("T:T").Locked = False
'Spalte T einblenden
Columns("T").Hidden = False
End If
With Application
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub
Gruß Gerd
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
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