Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Spalten ausblenden

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

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
Anzeige