153 Aufrufe
Gefragt in Tabellenkalkulation von

Hallo, ich habe von VBA eigentlich überhaupt keine Ahnung.

Für mein Problem habe hier im Forum bereits das Grundgerüst für eine Lösung gefunden im Thread:

Spalte ausblenden, wenn Bedingung erfüllt, Antwort 5 von von JoeKe. Nur die Anzahl der Spalten habe ich geändert:

Option Explicit

Sub Spalte_ausb()
Dim intSpalte As Integer
Application.ScreenUpdating = False
For intSpalte = 14 To 194
If Cells(1, intSpalte) = "" Then
Columns(intSpalte).EntireColumn.Hidden = True
End If
Next
Application.ScreenUpdating = True
End Sub

Damit kann ich in jeweils in einer Tabelle die ungenutzten Spalten ausblenden. Nun hätte ich gerne noch folgende Anpassung. Ich habe in meiner Datei - neben anderen Tabellen - noch 10 vollkommen identische (Tabelle2 bis Tabelle11). Ich möchte ich die ungenutzten Spalten bei allen auf einmal ausblenden.

Vielen Dank!

2 Antworten

0 Punkte
Beantwortet von xlking Experte (1.5k Punkte)
ausgewählt von mickey
 
Beste Antwort

Hi Weihu,

dafür musst du nur den entsprechenden Codeteil in eine weitere Schleife legen. In der einfachsten Form ungetestet etwa so:

Option Explicit

Sub Spalte_ausb()
Dim intSpalte As Integer
Application.ScreenUpdating = False
For sht = 2 to 11

Worksheets("Tabelle"&sht).select

For intSpalte = 14 To 194
If Cells(1, intSpalte) = "" Then
Columns(intSpalte).EntireColumn.Hidden = True
End If
Next

Next
Application.ScreenUpdating = True
End Sub

Gruß Mr. K.

0 Punkte
Beantwortet von

Vielen, vielen, viel... Dank Mr. K. für die schnelle Antwort. Jetzt läuft alles top und wie erhofft.yes

Zunächst kam ne kleine Fehlermeldung "Variable nicht definiert", aber auch als kompletter Laie lasst sich sowas schnell per Goorgle lösen. ==> Again what learned!wink

...