Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 11:16:26
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VB-Skript - Modifizierung

Forumthread: VB-Skript - Modifizierung

VB-Skript - Modifizierung
18.09.2008 13:50:19
Philip
Hallo zusammen,
habe vor einiger Zeit mal in einer Arbeitsmappe ein Blatt erstellt, bei dem in Zeile 1 Datumsangaben stehen, und zwar eine für jeweils zwei Spalten (Jeweils zwei Zellen in Zeile 1 sind dafür verbunden worden.). In diesem Forum half man mir dann, mit einem Visual-Basic-Script automatisch diejenigen Spalten auszublenden, die nicht dem aktuellen Datum entsprechen. Das Skript sieht wie folgt aus:

Private Sub Worksheet_Activate()
Dim i As Integer, x
Application.DisplayAlerts = False
Application.ScreenUpdating = False
x = 0
Range("H1", "BQ1").MergeCells = False
For i = 9 To 70 Step 2
If Cells(1, i)  Date And Cells(1, i - 1)  Date Then
Range(Cells(1, i - 1), Cells(1, i)).Columns.Hidden = True
Else
x = x + 1
Range(Cells(1, i - 1), Cells(1, i)).Columns.Hidden = False
Range(Cells(1, i - 1), Cells(1, i)).MergeCells = True
End If
Next
If x = 0 Then
Range("H1", "BQ1").Columns.Hidden = False
For x = 8 To 70 Step 2
Range(Cells(1, x), Cells(1, x + 1)).MergeCells = True
Next
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub


Nun wäre es mir lieber, wenn ich einen Button erstellen und mit einem ähnlichen Skript verknüpfen könnte (wie das geht, weiß ich). Man sollte den Vorgang manuell durchführen können, dann aber auch wieder alle Spalten anzeigen (bei nochmaligem klicken). Es soll keinerlei selbständige Einblendung/Ausblendung mehr erfolgen.
Für Hilfe bin ich sehr dankbar.
Liebe Güße
Philip

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VB-Skript - Modifizierung
18.09.2008 18:16:00
fcs
Hallo Philip,
mit folgender Anpassung des Makros wird wechselweise ein-/aAusgeblendet.
Gruß
Franz

Sub EinAusblenden()
Dim i As Integer, x
Application.DisplayAlerts = False
Application.ScreenUpdating = False
x = 0
'Zellverbindungen in Zeile 1 aufheben
Range("H1", "BQ1").MergeCells = False
'Prüfen, ob Spalten ausgeblendet sind
For i = 8 To 70
If Columns(i).Hidden = True Then
'falls eine der Spalten ausgeblendet ist, dann alle Spalten einblenden
GoTo Einblenden
End If
Next
'Spalten nach Datums-Prüfung ein-/ausblenden
For i = 9 To 70 Step 2
If Cells(1, i)  Date And Cells(1, i - 1)  Date Then
Range(Cells(1, i - 1), Cells(1, i)).Columns.Hidden = True
Else
x = x + 1
Range(Cells(1, i - 1), Cells(1, i)).Columns.Hidden = False
Range(Cells(1, i - 1), Cells(1, i)).MergeCells = True
End If
Next
Einblenden:
If x = 0 Then
Range("H1", "BQ1").Columns.Hidden = False
For x = 8 To 70 Step 2
Range(Cells(1, x), Cells(1, x + 1)).MergeCells = True
Next
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub


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

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