Excel - Spalten via Schaltfläche ein- bzw. ausblenden?

...komplette Frage anzeigen

2 Antworten

Sub marine()
For x = 1 To 8
If x Mod 2 = 1 Then
    Columns(x).Hidden = True
Else 
    Columns(x).Hidden = False
End If
Next x
End Sub

Musst du halt noch anpassen.

x Mod 2 = 1 Blendet alle ungeraden Spalten aus

x Mod 2 = 0 Blendet alle geraden aus

1 to 8 Sind die Spalten auf die es angewendet wird.

Hallo,
wunderbar, das ist schon mal gut.
Nur jetzt hab ich noch folgendes. Bei einem klick auf "Deutsch" werden mir nur die "deutschen" Spalten eingeblendet -> wunderbar!
Allerdings wenn ich dann auf "Englisch" klicke, wird auf Basis der deutschen Ergebnisse gefiltert.
Hast Du dazu noch eine Idee?

0
@patrickR23

Pack noch ein Columns("A:Z").Hidden = False vor beide Makros oder wie weit du es halt brauchst. Damit blendsest du erst mal alle Spalten wieder ein und dann einzeln wieder aus.

Ein Application.Screenupdating = False spart dir außerdem das geflackere.

Wichtig am Ende mit Application.Screenupdatig = True wieder einschalten sonst hängt dir die ganze Zeit die Anzeige.

4

DH!

P.S.:Sub marine()
gefällt mir.

1

Bei Excel gibt es die wunderbare Möglichkeit Makros aufzunehmen. Das schreibt dir den Code von dem was du machst.

Aber sicher nicht wenn man den Code, wie hier offensichtlich verlangt halbwegs flexibel gestalten muss.

1

den musst du dann anpassen.

0
@ClausO

Da hast du ihn aber leichter selbst geschrieben. Diese Aufgaben Stellung ist definitiv nicht mit dem Rekorder lösbar. Vor allem weil es eh nur 5 Zeilen Code sind.

0
@augsburgchris

Funktionen oder Schleifen kann der Recorder nicht aufnehmen, nur ihre Ergebnisse bzw die Eingaben, die wir im Kopf draus ausrechnen.

Ausserdem schreibt der Recorder so viel unnötiges Zeug auf: das kann man zwar zum Lernen brauchen (und staunen, wieviele Eigenschaften ein xl-Objekt so hat, aber da das Notwendige rauszufiltern, erfordert einige Kenntnisse!)

Wie gesagt, zum Lernen und Verstehen von xl sehr gut, aber praktisch nur für einfache Anweisungen nutzbar (und zum Feststellen einer Syntax)

1

Was möchtest Du wissen?