Spalten ausblenden

Bild

Betrifft: Spalten ausblenden
von: Sven
Geschrieben am: 27.11.2015 23:58:01

Hallo,
Irgendwie funktioniert mein vba-code nicht richtig...

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim i As Long
Columns("B:I").EntireColumn.Hidden = True
For i = 1 To 1
If Cells(i, 3) <> 0 Then
Columns("B:I").EntireColumn.Hidden = False
Exit Sub
End If
Next i
Columns("J:Q").EntireColumn.Hidden = True
For i = 1 To 1
If Cells(i, 11) <> 0 Then
Columns("J:Q").EntireColumn.Hidden = False
Exit Sub
End If
Next i
End Sub

Wenn in c1 ein höherer wert als null ermittelt wird (durch eine formel) werden die spalten b:i eingeblendet, wenn null ausgeblendet - soweit so gut.
Wird aber zudem in k1 ein höherer wert als null ermittelt werden die spalten j:q eingeblendet die spalten b:i aber wieder ausgeblendet obwohl auch c1 höher als null ist.
was mache ich falsch?
LG Sven

Bild

Betrifft: AW: Spalten ausblenden
von: Sepp
Geschrieben am: 28.11.2015 00:23:11
Hallo Sven,
dein Code ist absoluter Nonsens!
Warum bei jeder Änderung der Zellauswahl den Code ausführen?
Wozu eine Schleife die von 1 bis 1 läuft?
Wenn die Kriterien per Formel berechnet werden, dann solltest du auch das Calculate-Ereignis zur Auswertung verwenden.

' **********************************************************************
' Modul: Tabelle2 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Calculate()

Columns("B:I").EntireColumn.Hidden = Range("C1") <= 0

Columns("J:Q").EntireColumn.Hidden = Range("K1") <= 0

End Sub

Gruß Sepp


Bild

Betrifft: AW: Spalten ausblenden
von: Sven
Geschrieben am: 28.11.2015 00:43:24
Hallo Sepp,
Vielen dank - läuft perfekt.
Hatte den Code hier aus dem Forum...
LG Sven

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Spalten ausblenden"