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

Forumthread: VBA Spalten ausblenden

VBA Spalten ausblenden
18.08.2003 13:34:22
Alex
Hello again....
ich habe ein Problem: eine Zelle B1 soll permanent überwacht werden. Bei Eintrag "1" sollen die Spalten E:O ausgeblendet werden, bei "2" entsprechend die Spalten F:O. Alle anderen Spalten sollten sichtbar sein. Ich habe mir dazu folgende Lösung ausgedacht (ja,ja, bin Anfänger), aber die haut leider nicht hin...

Private Sub Worksheet_Change(ByVal Target As Range)
Dim zelle As Range
Dim i As Integer
Set zelle = Range("b1")
Select Case i
Case "1"
ActiveSheet.EntireColumn.Hidden = False
Columns("e:o").Select
Selection.EntireColumn.Hidden = True
zelle.Select
Case "2"
ActiveSheet.EntireColumn.Hidden = False
Columns("f:o").Select
Selection.EntireColumn.Hidden = True
zelle.Select
Case Else
zelle.Select
End Select
End Sub

Vielen Dank für eure Hilfe,
Alex
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Spalten ausblenden
18.08.2003 13:40:52
OttoH
Hallo Alex,
ich vemute, es scheitert hierdran:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim zelle As Range
Dim i As Integer
Set zelle = Range("b1")
i = Zelle.value <<<<<<<<<<<<<<<<<<<<<<<<< hier !!!
Select Case i
Case "1"
ActiveSheet.EntireColumn.Hidden = False
Columns("e:o").Select
Selection.EntireColumn.Hidden = True
zelle.Select

Case "2"
ActiveSheet.EntireColumn.Hidden = False
Columns("f:o").Select
Selection.EntireColumn.Hidden = True
zelle.Select

Case Else
zelle.Select
End Select
Gruß OttoH

Anzeige
AW: VBA Spalten ausblenden, noch ne Frage...
18.08.2003 13:48:46
Alex
Hi Otto,
danke, das hat schonmal geholfen.
Allerdings hab ich noch das Problem, vor dem ausblenden erstmal alles einzublenden, denn:
ActiveSheet.EntireColumn.Hidden = False
den Befehl mag er nicht annehmen. Muss ich etwa auch hier erst selektieren->
Columns("a:iv").Select
Selection.EntireColumn.Hidden = False ???
sieht halt unschön aus..
Danke nochmal
Alex

Anzeige
AW: VBA Spalten ausblenden, noch ne Frage...
18.08.2003 14:30:20
OttoH
Hallo Alex,
genauso solltest Du erst alles wieder einblenden.
Gruß OttoH

AW: VBA Spalten ausblenden
18.08.2003 13:44:35
Michael Brüggemann
Hallo Alex,
so geht's:

Private Sub Worksheet_Change(ByVal Target As Range)
' Ist die Aktion überhaupt nötig (Änderung in "B1") ?
If Target.Address = "$B$1" Then
' Nimm den Wert des geänderten Bereiches
Select Case Target.Value
' Vergleiche mit ZAHL, nicht String
Case 1
' Blende alle Spalten ein
ActiveSheet.Columns.Hidden = False
' Blende Spalten E:O aus
Columns("e:o").EntireColumn.Hidden = True
Case 2
' Blende alle Spalten ein
ActiveSheet.Columns.Hidden = False
' Blende Spalten F:O aus
Columns("f:o").EntireColumn.Hidden = True
End Select
' Setze den Cursor zurück auf "B1"
Target.Select
End If
End Sub

CIAO
Michael

Anzeige
AW: VBA Spalten ausblenden
18.08.2003 13:53:45
Alex
Hi Michael,
super, vielen Dank.
Alex

;

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

Infobox / Tutorial

Spalten in Excel mit VBA ausblenden


Schritt-für-Schritt-Anleitung

Um in Excel mit VBA Spalten auszublenden, kannst Du den folgenden Code verwenden. Dieser Code überwacht die Zelle B1 und blendet die Spalten E:O aus, wenn der Wert "1" eingegeben wird, und die Spalten F:O, wenn "2" eingegeben wird.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Wähle das entsprechende Arbeitsblatt im Projekt-Explorer aus.
  3. Füge den folgenden Code in das Codefenster ein:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$1" Then
        ActiveSheet.Columns.Hidden = False ' Alle Spalten einblenden
        Select Case Target.Value
            Case 1
                Columns("E:O").EntireColumn.Hidden = True ' Spalten E:O ausblenden
            Case 2
                Columns("F:O").EntireColumn.Hidden = True ' Spalten F:O ausblenden
        End Select
        Target.Select ' Cursor zurück auf B1
    End If
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Deinem Arbeitsblatt.
  2. Teste die Funktion, indem Du in die Zelle B1 "1" oder "2" eingibst.

Häufige Fehler und Lösungen

  • Fehler: ActiveSheet.EntireColumn.Hidden = False funktioniert nicht.

    • Lösung: Stelle sicher, dass Du die gesamte Zeile korrekt einblendest, bevor Du bestimmte Spalten ausblendest. Verwende ActiveSheet.Columns.Hidden = False.
  • Fehler: Die Spalten blenden sich nicht aus.

    • Lösung: Überprüfe, ob der Code im richtigen Arbeitsblatt-Modul eingefügt wurde und dass die Zelle B1 überwacht wird.

Alternative Methoden

Du kannst auch die Excel-Optionen nutzen, um Spalten manuell auszublenden. Klicke dazu mit der rechten Maustaste auf die Spaltenüberschrift und wähle "Ausblenden". Eine andere Möglichkeit ist, ein Excel-Makro zu verwenden, um mehrere Spalten auf einmal auszublenden:

Sub SpaltenAusblenden()
    Columns("E:O").EntireColumn.Hidden = True
End Sub

Praktische Beispiele

Ein einfaches Beispiel, um mehrere Spalten gleichzeitig auszublenden:

Sub MehrereSpaltenAusblenden()
    Columns("A:C").EntireColumn.Hidden = True ' Blendet die Spalten A bis C aus
End Sub

Du kannst die Methode auch anpassen, um spezifische Spalten je nach Bedarf auszublenden oder sichtbar zu machen.


Tipps für Profis

  • Nutze die If...Then-Anweisung, um Bedingungen zu prüfen und spezifische Aktionen auszuführen.
  • Halte Deine Codes sauber und gut strukturiert, indem Du Kommentare hinzufügst, um die Funktionsweise zu erklären.
  • Wenn Du häufig Spalten ausblenden musst, erstelle ein Excel-Makro, um den Prozess zu automatisieren.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Spalten gleichzeitig ausblenden?
Du kannst den Befehl Columns("A:C").EntireColumn.Hidden = True verwenden, um die Spalten A bis C auszublenden.

2. Was mache ich, wenn ich die Spalten wieder einblenden möchte?
Benutze den Befehl ActiveSheet.Columns.Hidden = False, um alle Spalten wieder sichtbar zu machen.

3. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren, jedoch kann es Unterschiede in der Benutzeroberfläche 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