Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Spalten ausblenden abhängig vom Zellwert
#1
Guten Abend!

Mittels eines VBA Codes möchte ich in zwei unterschiedlichen Sheets Spalten, abhängig vom Zellwert im Bereich i (Spalte 48 -83, jeweils in Zeile 23) und n (Spalte  44 -79, jeweils in Zeile 8) ausblenden.
Ist der jeweilige Zellwert = 0, dann soll die jeweilige Spalte ausgeblendet werden.
Code:
Private Sub CommandButton1_Click()
Dim i As Integer
Dim n As Integer

For i = 48 To 83
   If Cells(23, i).Value = 0 Then
   Columns(i).EntireColumn.Hidden = True
End If
Next i
     

'Das selbe im nächsten Sheet
Sheets("Tabelle 2").Activate

For n = 44 To 79
If Cells(8, n).Value = 0 Then
Columns(n).EntireColumn.Hidden = True
End If
Next n
     
Sheets("Tabelle 1").Activate

End Sub

Das funktioniert auch soweit gut, solange ich das nur für ein Sheet mache, sobald ich ins zweite wechseln möchte ("Tabelle 2) werden diese dort nicht ausgeblendet.

Habe ich einen Fehler im Code gemacht? Bzw. könnte ich das besser darstellen?


Danke und noch einen schönen Abend.
Antworten Top
#2
Hallo,

Zitat:solange ich das nur für ein Sheet mache, sobald ich ins zweite wechseln möchte ("Tabelle 2) werden diese dort nicht ausgeblendet.

mal eine Frage vorweg: 
gibt es denn auf dem zweiten Blatt auch einen zweiten Button?

Das geht nämlich nicht zweifelsfrei aus Deinem Post hervor und in dem uns vorgestellten Code
ist kein Blattwechsel vorgesehen. Folglich passiert bei einem Blattwechsel auch nichts.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
[-] Folgende(r) 1 Nutzer sagt Danke an Käpt'n Blaubär für diesen Beitrag:
  • diving_excel
Antworten Top
#3
Hallo,
Private Sub CommandButton1_Click()
Dim i As Integer
With Sheets("Tabelle 1")
For i = 48 To 83
.Columns(i).EntireColumn.Hidden = .Cells(23, i).Value = 0
Next i
End With
'Das selbe im nächsten Sheet
With Sheets("Tabelle 2")
For i = 44 To 79
.Columns(i).EntireColumn.Hidden = .Cells(8, i).Value = 0
Next i
End With
End Sub
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • diving_excel
Antworten Top
#4
Hallo

Ohne das Blatt wechseln. Ohne Activate.

Code:
Private Sub CommandButton1_Click()
Dim i As Integer
Application.ScreenUpdating = False
'Tabelle1
    For i = 48 To 83
        If Cells(23, i).Value = 0 Then
            Tabelle1.Columns(i).EntireColumn.Hidden = True
        End If
    Next
'Tabelle2
    For i = 44 To 79
        If Cells(8, i).Value = 0 Then
            Tabelle2.Columns(i).EntireColumn.Hidden = True
        End If
    Next
Application.ScreenUpdating = True
End Sub
Gruss Guschti
Der Künstler lebt auch vom Applaus
Excel Optimaler Zuschnitt von Stangen/Balken - YouTube
[-] Folgende(r) 1 Nutzer sagt Danke an Guschti für diesen Beitrag:
  • diving_excel
Antworten Top
#5
Vielen Dank funktioniert super! Habe den Code von Guschti verwendet, sehr geschickt nicht das Blatt wechseln zu müssen!

Gruß
Antworten Top


Gehe zu:


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