Anzeige
Archiv - Navigation
1912to1916
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Prüfe ob Spalten aus/eingeblendet ist

Prüfe ob Spalten aus/eingeblendet ist
06.01.2023 09:07:55
Chris
Hallo Forum,
ich möchte folgendes per VBA lösen:
Für die ersten vier Arbeitsmappen soll Excel jeweils überprüfen, welche Spalten im Bereich von E:N ausgeblendet sind.
Sind Spalten ausgeblendet soll die jeweilige Spalten Nummer (also für E = Spalte 5) im Sheet "ZF" ab A1 untereinander aufgelistet werden.
Sind Spalten nicht ausgeblendet soll keine Spaltennummer angegeben werden.
Wie löst man dies per VBA?
Gruß
Chris

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfe ob Spalten aus/eingeblendet ist
06.01.2023 09:55:35
hary
Moin
"ersten vier Arbeitsmappen" meinst du damit Tabellenblaetter?
Teste mal.

Dim zelle As Range
Dim naechste As Long, i As Long
With Worksheets("ZF")
.Range("A1:A" & .Cells(Rows.Count, 1).End(xlUp).Row).ClearContents
For i = 1 To 4
For Each zelle In Worksheets(i).Range("E:N").Columns '--1. bis 4. Blatt
If zelle.Hidden = True Then
letzte = .Cells(Rows.Count, 1).End(xlUp).Row + 1
If .Cells(1, 1) = "" Then letzte = 1
.Cells(letzte, 1) = zelle.Column
End If
Next
Next
End With
gruss hary
AW: Prüfe ob Spalten aus/eingeblendet ist
06.01.2023 09:55:37
ChakkaCor
Hi Chris,
trifft es das?

Sub hidden_columns()
sheets_count = Worksheets.Count
row_enter = 2 'in welche Zeile wird eingetragen in Blatt ZF
For sheet_number = 1 To 4 'die ersten 4 Blätter durchgehen (Name unabhängig)
For i = 5 To 14 'Spalten durchgehen und prüfen
If Worksheets(sheet_number).Columns(i).EntireColumn.Hidden = True Then
Sheets("ZF").Cells(row_enter, 2) = i    'Spalte einfügen
Sheets("ZF").Cells(row_enter, 1) = Sheets(sheet_number).Name 'Betroffenes Blatt einfügen
row_enter = row_enter + 1 'Zeile hochzählen zum Eintragen
End If
Next
Next
End Sub
Einfach in ein Modul einfügen und ausführen in deiner Datei. Ggf musst du aber die Spalten und Zeilen zum Eintragen anpassen.
Anzeige
AW: Prüfe ob Spalten aus/eingeblendet ist
06.01.2023 11:00:51
Chris
Hallo ChakkaCor,
ja, das trifft es. Ich habe es angepasst und es funktioniert perfekt! Danke!
Geht dieses auch "umgekehrt"? In einem zweiten Schritt soll Excel die SheetNamen und die jeweiligen Spalten Nummer auslesen und entsprechend wieder einblenden.
AW: Prüfe ob Spalten aus/eingeblendet ist
06.01.2023 11:29:45
GerdL
Hallo Chris!

Sheets(i).Rows(1).EntireColumn.Hidden = False
Gruß Gerd
AW: Prüfe ob Spalten aus/eingeblendet ist
06.01.2023 11:44:38
snb
Meinst du ?

Sheets(i).columns.Hidden = False

AW: Prüfe ob Spalten aus/eingeblendet ist
06.01.2023 13:58:11
Chris
Hallo SNB
ich meine es so:
Im Sheet ZF stehen ab G2 die Namen der Tabellenblätter, die ausgeblendete Spalten haben.
ab H2 stehen die Spaltennummern.
Excel soll bei Workbook_Open anhand bei dieser beiden Spalten die jeweilige Spalte im jeweiligen Sheet wieder einblenden.
Gruß
Chris
Anzeige
AW: Prüfe ob Spalten aus/eingeblendet ist
07.01.2023 18:25:37
ChakkaCor
Meinst du so?

Private Sub Workbook_Open()
last = Sheets("ZF").Cells(Rows.Count, 7).End(xlUp).Row 'Letzte in Spalte 7 (G) belegte Zeile
'sheets_count = Worksheets.Count
For sheet_number = 1 To 4 'die ersten 4 Blätter durchgehen (Name unabhängig)
For col = 2 To last
Worksheets(Sheets("ZF").Cells(col, 7).Value).Columns(Sheets("ZF").Cells(col, 8).Value).EntireColumn.Hidden = False
Next
Next
'Falls die alten Einträge in Blatt ZF in Spalte G und H gelöscht werden sollen beim öffnen:
Sheets("ZF").Range("G2:H40").Select 'Bereich auswählen nach Wahl. Ich habe hier 40 Zeilen genommen, da bei 10 Spalten pro Blatt bei 4 Blättern 40 ergibt
Selection.ClearContents
End Sub

Anzeige
AW: Prüfe ob Spalten aus/eingeblendet ist
09.01.2023 07:42:16
Chris
Hi,
da scheint noch ein Fehler drin zu sein.
Worksheets(Sheets("ZF").Cells(col, 7).Value).Columns(Sheets("ZF").Cells(col, 8).Value).EntireColumn.Hidden = False
Die in den jeweiligen Sheets ausgeblendeten Spalten werden nicht eingeblendet. Müsste in der obigen Zeile die sheet_number Variabel angegeben sein?
Gruß
Chris
AW: Prüfe ob Spalten aus/eingeblendet ist
09.01.2023 08:38:29
Chris
Hi,
habs nun hinbekommen:

Sub HideColumns()
Dim ws As Worksheet
Dim last, col As Long
last = Sheets("ZF").Cells(Rows.Count, 7).End(xlUp).Row
For Each ws In Sheets
For col = 2 To last
If Sheets("ZF").Cells(col, 7).Value = ws.Name Then
ws.Columns(Sheets("ZF").Cells(col, 8)).EntireColumn.Hidden = True
End If
Next
Next
End Sub

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige