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

Forumthread: Auf ausgeblendete Spalte zugreifen.

Auf ausgeblendete Spalte zugreifen.
23.03.2017 20:58:24
Franky
Hallo, ich habe ein Problem,
ich habe eine Datentabelle mit vielen Spalten.
Um mir den Zugriff zu vereinfachen greife ich mit folgendem Code auf die
Spalten via Überschrift zu. Das funktioniert soweit ganz gut.
Nun will ich aber einzelne Spalten ausblenden (zwecks Darauf zugreifendem
Diagramm um Datenreihen auszublenden) Sobald die Spalte aber ausgeblendet
ist kann ich mit Find nicht mehr darauf zugreifen.
Hier der Code:
Sub ReiheHV01E1EB01AusEin()
Ausblenden "Reihe1"
End Sub

Sub Ausblenden(Reihe As String)
Dim Ergebnis As Range
Set Ergebnis = Worksheets("Daten").Rows(1).Find(Reihe, lookat:=xlWhole)
Worksheets("Daten").Columns(Ergebnis.Column).EntireColumn.Hidden = Not Worksheets(" _
Daten").Columns(Ergebnis.Column).EntireColumn.Hidden
'Worksheets("Daten").Columns(40).             EntireColumn.Hidden = Not Worksheets(" _
Daten").Columns(40)             .EntireColumn.Hidden
End Sub

Kann mir hier jemand nen Tip geben, ich steh auf dem Schlauch.
Grundsätzlich ist das Ziel per Schaltfläche bestimmte Datenreichen
im Diagramm aus und auch wieder einblenden zu können.
Mit Spalten Nr. funktioniert das, aber es kann sein das in die
Datentabelle Spalten eingefügt werden und dann klappt es nicht mehr.
Fanke schon mal für eure Mühe...
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auf ausgeblendete Spalte zugreifen.
23.03.2017 21:41:54
firmus
Hi Franky,
hier ein Muster wie ich das umgesetzt habe. "Spalte anhand der Spaltenüberschrift finden"
Rows("1:1").Select
On Error Resume Next
Selection.Find(What:="Kunden", After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Activate
If Err.Number = 0 Then
On Error GoTo 0
Xspalte = ActiveCell.Column 'column als Zahl
Range(Columns(Xspalte), Columns(Xspalte)).ColumnWidth = 8
Else
MsgBox "MSG-003: Spalte 'Kunden' nicht gefunden. - exit."
Exit Sub
End If
'LookAt:xlWhole vergleicht den ganzen Zelleninhalt
'LookAt:xlPart vergleicht auf "in der Zelle enthalten" (Substring)
Gruß
Firmus
Anzeige
AW: Auf ausgeblendete Spalte zugreifen.
23.03.2017 21:44:00
Gerd
Hallo Franky,
teste mal.
Sub ReiheHV01E1EB01AusEin()
Ausblenden "Reihe1"
End Sub
Sub Ausblenden(Reihe As String)
Dim Ergebnis As Variant, WS As Worksheet
Set WS = Worksheets("Daten")
Ergebnis = Application.Match(Reihe, WS.Rows(1), 0)
If IsNumeric(Ergebnis) Then
WS.Columns(Ergebnis).Hidden = Not WS.Columns(Ergebnis).Hidden
End If
End Sub
Gruß Gerd
Anzeige
AW: Auf ausgeblendete Spalte zugreifen.
23.03.2017 21:51:25
Daniel
Hi
verwende Worksheetfunction.Match um die Spaltennummer zu ermitteln und arbeite damit weiter.
Worksheetfunction.Match entspricht der Excelfunktion Vergleich und bei Excelfunktionen ist es egal, ob die Zellen sichtbar sind oder nicht (Ausnahme: Teilergebnis und Aggregat)
im Prinzip dann so:

Sub Ausblenden(Reihe As String)
Dim Ergebnis As long
With Worksheets("Daten")
Ergebnis = Worksheetfunction.Match(Reihe, .Rows(1), 0)
With .Columns(Ergebnis)
.EntireColumn.Hidden = Not .EntireColumn.Hidden
End with
With .Columns(40)
.EntireColumn.Hidden = not .EntireColumn.Hidden
End With
End With
End Sub
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Auf ausgeblendete Spalten zugreifen in Excel


Schritt-für-Schritt-Anleitung

Um auf ausgeblendete Spalten in Excel zuzugreifen, kannst Du verschiedene Methoden nutzen. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Worksheetfunction.Match verwenden: Diese Funktion ermöglicht es, die Spaltennummer zu ermitteln, unabhängig davon, ob die Spalten sichtbar sind oder nicht.

  2. VBA-Makro erstellen: Öffne den VBA-Editor (Alt + F11) und füge den folgenden Code in ein Modul ein:

    Sub Ausblenden(Reihe As String)
        Dim Ergebnis As Long
        With Worksheets("Daten")
            Ergebnis = Worksheetfunction.Match(Reihe, .Rows(1), 0)
            With .Columns(Ergebnis)
                .EntireColumn.Hidden = Not .EntireColumn.Hidden
            End With
        End With
    End Sub
  3. Makro ausführen: Du kannst das Makro ausführen, indem Du den Namen der Spalte, die Du ein- oder ausblenden möchtest, als Parameter übergibst. Beispiel: Ausblenden "Reihe1".


Häufige Fehler und Lösungen

  • Fehler bei der Spaltenfindung: Wenn der Code die Spalte nicht findet, könnte es sein, dass die Überschrift nicht exakt übereinstimmt. Stelle sicher, dass der Suchbegriff genau mit der Überschrift in der ersten Zeile übereinstimmt.

  • Makro funktioniert nicht mit ausgeblendeten Spalten: Wenn Du Find verwendest, kann es sein, dass ausgeblendete Spalten nicht gefunden werden. Verwende stattdessen Worksheetfunction.Match, wie in der Schritt-für-Schritt-Anleitung beschrieben.


Alternative Methoden

Eine weitere Methode, um auf ausgeblendete Spalten in Excel zuzugreifen, ist die Verwendung der Find-Methode in Kombination mit einer Fehlerbehandlung. Hier ist ein Beispiel:

Sub SucheUndAusblenden(Reihe As String)
    Dim Ergebnis As Range
    On Error Resume Next
    Set Ergebnis = Worksheets("Daten").Rows(1).Find(Reihe, LookIn:=xlValues, LookAt:=xlWhole)
    On Error GoTo 0

    If Not Ergebnis Is Nothing Then
        Worksheets("Daten").Columns(Ergebnis.Column).EntireColumn.Hidden = Not Worksheets("Daten").Columns(Ergebnis.Column).EntireColumn.Hidden
    Else
        MsgBox "Spalte '" & Reihe & "' nicht gefunden."
    End If
End Sub

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du die oben genannten Methoden anwenden kannst:

  1. Spalte "Kunden" ein- oder ausblenden:

    Ausblenden "Kunden"
  2. Spalte "Umsatz" ein- oder ausblenden:

    Ausblenden "Umsatz"

Beide Befehle können in einem Button oder einer anderen Benutzeroberfläche eingebunden werden, um die Benutzerfreundlichkeit zu erhöhen.


Tipps für Profis

  • Verwendung von Fehlerbehandlung: Implementiere On Error Resume Next und On Error GoTo 0, um unerwartete Fehler während der Ausführung zu verhindern.

  • Dokumentiere Deinen Code: Füge Kommentare hinzu, um die Funktionsweise Deiner Makros zu erklären, damit Du oder andere später leichter nachvollziehen können, was der Code macht.

  • Nutze spezielle Funktionen: Wenn Du oft mit ausgeblendeten Spalten arbeitest, erwäge die Erstellung einer benutzerdefinierten Funktion, die diese Aufgabe effizient erledigt.


FAQ: Häufige Fragen

1. Kann ich auch mehrere Spalten gleichzeitig ausblenden?
Ja, Du kannst die Ausblenden-Subroutine so anpassen, dass sie mehrere Spaltennamen akzeptiert und diese in einer Schleife verarbeitet.

2. Funktioniert dieser Code auch in Excel Online?
Leider sind VBA-Makros nicht in Excel Online verfügbar. Du musst Excel Desktop verwenden, um diese Funktionen zu nutzen.

3. Was passiert, wenn die gesuchte Spalte nicht vorhanden ist?
In dem bereitgestellten Code wird eine Fehlermeldung angezeigt, wenn die Spalte nicht gefunden wird. Du kannst dies anpassen, um eine benutzerdefinierte Nachricht zu geben.

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