Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1636to1640
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

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

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
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
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
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
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige