Ausblenden von Spalten mit VBA
#1
Hallo, 

ich orientiere mich gerade neu bei VBA und stehe auf dem Schlauch: 

Ich habe ein Spreadsheet, bei dem in den Spalten V bis VV jeweils Daten für bestimmte Monate aufgeführt sind werden. Jede Spalte ist in Zeile 2 mit einem Kürzel auf den jeweiligen Monat kodiert (Jan, Feb, Mar ... Dec). Es gibt jeden Monat dabei nicht nur einmal, sondern mehrfach. 
Ich habe nun in Feld B2 ein Dropdown, bei dem man den Monat auswählen kann, der angezeigt werden soll. Es sollen bei Auswahl von "Mar" im Dropdown also aus den Spalten V bis VV nur diejenigen angezeigt werden, bei denen in Zeile 2 jeweils "Mar" steht. Ich kriege das aber einfach nicht hin und wäre für Hilfe sehr dankbar. 

Mein Code-Fragment sieht bislang so aus: 


Code:
Private Sub Worksheet_Change()
    Dim i%, Ab%, Bis%, Monat$
    Ab = V
    Bis = VV
    Monat = Range("B2")
 
 
    Application.ScreenUpdating = False
    With ActiveSheet
        .Range(Columns(Ab), Columns(Bis)).EntireColumn.Hidden = False
        For i = Ab To Bis
        Range("B3").Value = Monat
            If .Cells(2, i) = Monat Then
                .Columns(i).EntireColumn.Hidden = True
            End If
        Next i
    End With
End Sub
Antworten Top
#2
Hi,

z.B.:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim x As Long
If Target.Address(0, 0) = "B2" Then
    For x = 22 To 594 'Spalte V bis VV
        Columns(x).Hidden = Cells(2, x) <> Range("B2")
    Next x
End If
End Sub

Code gehört in das Codemodul des entsprechenden Blattes und reagiert auf Änderung in B2.
[-] Folgende(r) 1 Nutzer sagt Danke an {Boris} für diesen Beitrag:
  • sebober
Antworten Top
#3
Wow - das funktioniert wie im Traum. Herzlichen Dank!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste