Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Definierter Name für Bereich - Spalten ausblenden

Definierter Name für Bereich - Spalten ausblenden
31.07.2018 09:04:01
Martin
Hallo,
ich möchte in einem Bereich, der mit einen Namen definiert ist, die Spalten, in denen nichts steht ausblenden.
Als Beispiel habe ich eine Tabelle mit den Spalten A, B, C und D sowie drei Zeilen 1, 2 und 3.
Nun soll in der Spalte A die Zellen der Zeilen von 1 bis 3 überprüft werden. Wenn nichts in den Zellen steht, soll die Spalte ausgeblendet werden. Danach soll der selbe Ablauf in Spalten B und C durchgeführt werden.
Bis jetzt habe ich das über die Zeilenangaben mit folgendem Code gelöst:

Dim iSpalte As Integer
Application.ScreenUpdating = False
With ThisWorkbook.Worksheets("Tabelle5")
.Columns("A:D").EntireColumn.Hidden = False
For iSpalte = 1 To 4
If Application.CountA(.Range(.Cells(1, iSpalte), .Cells(3, iSpalte))) = 0 Then
.Columns(iSpalte).Hidden = True
End If
Next iSpalte
End With
Application.ScreenUpdating = True
End Sub

Den Bereich von A1:D3 habe ich mit dem Namen "Beispiel" definiert. Leider schaffe ich es nicht den Code für diesen Ablauf mit dem Namen "Beispiel" zu schreiben.
Gruß Martin
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Definierter Name für Bereich - Spalten ausblen
31.07.2018 09:24:35
Michael
Hallo!
Sub a()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim Ws As Worksheet: Set Ws = Wb.Worksheets("Tabelle1")
Dim r As Range: Set r = Ws.Range("Bereich")
Dim i&
Application.ScreenUpdating = False
For i = 1 To r.Columns.Count
If WorksheetFunction.CountA(r.Columns(i)) = 0 Then
r.Columns(i).EntireColumn.Hidden = True
End If
Next i
Set Wb = Nothing: Set Ws = Nothing: Set r = Nothing
End Sub
LG
Michael
Anzeige
AW: Definierter Name für Bereich - Spalten ausblen
31.07.2018 09:57:05
Martin
Hallo Michael,
Vielen Dank für deine Lösung. Funktioniert genauso wie ich es brauche. Danke
Gruß Martin
AW: Gerne, Danke für die Rückmeldung, owT
31.07.2018 11:20:50
Michael
AW: Definierter Name für Bereich - Spalten ausblenden
31.07.2018 09:30:27
Hajo_Zi
Hallo Martin,
Option Explicit
Sub Ausblenden()
Dim Razelle As Range
With ThisWorkbook.Worksheets("Tabelle5")
For Each Razelle In Range("A1:C1")
If Application.CountA(.Range(Razelle, Razelle.Offset(2, 0))) = 0 Then
Razelle.Columns.Hidden = True
End If
Next Razelle
End With
End Sub

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Anzeige
AW: Definierter Name für Bereich - Spalten ausblenden
31.07.2018 10:02:27
Martin
Hallo Hajo,
Vielen Dank für deine Antwort. Leider funktioniert es nicht ganz so, wie ich es brauche.
Es werden nur die Spalten ausgeblendet, wenn in der Zeile 3 keine Werte stehen. Steht z.B. in der Zeile B2 etwas, wird sie auch ausgeblendet.
Trotzdem Danke
Gruß Martin
AW: Definierter Name für Bereich - Spalten ausblenden
31.07.2018 10:21:37
Hajo_Zi
Bei mir wird nur die Spalte C ausgeblendet da C1:C3 leer.
nur wenige schauen auf Deinen Rechner und sehen die Datei.
Ich möchte gerne den Fehler im Original sehen.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten anonymisieren bzw. pseudonymisieren.
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)
Gruß Hajo
Anzeige
AW: Definierter Name für Bereich - Spalten ausblenden
31.07.2018 11:32:08
Martin
Ich habe das Beispiel hochgeladen.
https://www.herber.de/bbs/user/123015.xlsm
Wenn ich auf Test drücke, sollen die leeren Spalten ausgeblendet werden. Jedoch wird auch die Spalte D ausgeblendet, obwohl in Zelle D2 etwas steht.
Gruß Martin
Anzeige
AW: Definierter Name für Bereich - Spalten ausblenden
31.07.2018 13:29:13
Werner
Hallo Martin,
bescheidene Frage: Warum nicht mit dem Vorschlag von Rudi vom 27.07. ? Der macht genau das.
Hier für deine hier jetzt hochgeladene Beispielmappe:
Public Sub aaa()
With ThisWorkbook.Worksheets("Tabelle1")
For iSpalte = 1 To 10
If Application.CountA(.Range("Beispiel").Columns(iSpalte)) = 0 Then
.Columns(iSpalte).Hidden = True
End If
Next iSpalte
End With
End Sub
Gruß Werner
Anzeige
AW: Definierter Name für Bereich - Spalten ausblenden
31.07.2018 14:31:25
Martin
Hallo Werner,
ich habe das letzte Woche in einer größeren Tabelle, in der mehrere Bereiche untereinander sind, ausprobiert. Da war anscheinend noch irgendwo ein weiterer Fehler.
Jetzt wo ich es an dem aktuellen Beispiel nochmal probiert habe, sehe ich, dass diese Lösung auch funktioniert.
Ich beschäftige mich erst seit kurzem mit VBA und bin mit diesem Thema noch nicht weiter gekommen. Deswegen habe ich die Frage nochmal anhand einer kleineren Tabelle gestellt.
Gruß Martin
Anzeige
AW: Definierter Name für Bereich - Spalten ausblenden
31.07.2018 14:50:42
Werner
Hallo Martin,
dann solltest du aber vielleicht nicht vergessen dich im anderen Beitrag bei Rudi zu beanken.
Gruß Werner
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige