Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1808to1812
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Benutzerdef. Ansicht per VBA Abfragen

Benutzerdef. Ansicht per VBA Abfragen
25.01.2021 11:43:59
Steinwolf
Hallo,
Ich möchte per Benutzerdefinierte Ansicht einige Filter (1 Spalte gezielt und alle Filter) aus- und wieder einblenden und das per 3 Formularfeld Buttons.
Dazu habe ich 3 Makros geschrieben. Das funktioniert auch soweit, nur falls jemand auf die Idee kommt die 2 Löschenmakros hintereinander zu drücken, muss man zur Wiederherstellung 2x auf Filter wiederherstellen klicken.
Um das zu umgehen, würde ich gerne einfach abfragen, ob die Benutzeransicht "Filter_Zwischenspeicher_Auswahl" existiert. Das bekomme ich leider nicht hin. Kann mir jemand die Codezeile geben?
Makros:
1) Alle gesetzten Filter löschen:
_______________________________________________________________________
Sub Filter_loeschen()
On Error GoTo Fehler
'Filter zwischenspeichern
ActiveWorkbook.CustomViews.Add ViewName:="Filter_Zwischenspeicher", _
PrintSettings:=True, RowColSettings:=True
'Filter löschen
ActiveSheet.ShowAllData
Exit Sub
Fehler:
MsgBox "Fehler! Wahrscheinlich sind keine Filter ausgewählt.", vbInformation
End Sub

___________________________________________________________________________________
2) Nur den Filter mit der Stückzahlauswahl löschen
Sub Filter_Stueckzahl_loeschen()
'Filter zwischenspeichern
ActiveWorkbook.CustomViews.Add ViewName:="Filter_Zwischenspeicher_Auswahl", _
PrintSettings:=True, RowColSettings:=True
'Stückzahl Filter (Spalte L) löschen
ActiveSheet.Range("$L$6:$AX$1500").AutoFilter Field:=1
End Sub

_______________________________________________________________________________________
3) Alle Filter wiederherstellen:
Sub Filter_wiederherstellen()
On Error GoTo WEITER
ActiveWorkbook.CustomViews("Filter_Zwischenspeicher_Auswahl").Show
ActiveWorkbook.CustomViews("Filter_Zwischenspeicher_Auswahl").Delete
WEITER:
Resume weiter2
weiter2:
On Error GoTo ENDE
ActiveWorkbook.CustomViews("Filter_Zwischenspeicher").Show
ActiveWorkbook.CustomViews("Filter_Zwischenspeicher").Delete
Exit Sub
ENDE:
End Sub

LG,
Steinwolf

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Benutzerdef. Ansicht per VBA Abfragen
25.01.2021 17:59:22
fcs
Hallo Steinwolf,
ich habe die Fehlerbehandlung in deinen Makro angepasst.
Da der gleiche Fehler 2 mal auftreten kann hab ich zusätzlich die Variable intFehler eingebaut.
So sollte der Ablauf wie gewünscht funktionieren
LG
Franz
'1) Alle gesetzten Filter löschen:
Sub Filter_loeschen()
Dim wks As Worksheet
On Error GoTo Fehler
Set wks = ActiveSheet
'Filter zwischenspeichern
ActiveWorkbook.CustomViews.Add ViewName:="Filter_Zwischenspeicher", _
PrintSettings:=True, RowColSettings:=True
'Filter löschen
With wks
If .AutoFilterMode = True Then 'Autofilter ist aktiv
If .FilterMode = True Then 'ein Filter ist aktiv
.ShowAllData
End If
End If
End With
Fehler:
With Err
Select Case .Number
Case 0
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description, vbInformation
End Select
End With
End Sub
'2) Nur den Filter mit der Stückzahlauswahl löschen
Sub Filter_Stueckzahl_loeschen()
'Filter zwischenspeichern
ActiveWorkbook.CustomViews.Add ViewName:="Filter_Zwischenspeicher_Auswahl", _
PrintSettings:=True, RowColSettings:=True
'Stückzahl Filter (Spalte L) löschen
ActiveSheet.Range("$L$6:$AX$1500").AutoFilter Field:=1
End Sub
'3) Alle Filter wiederherstellen:
Sub Filter_wiederherstellen()
Dim intfehler As Integer
On Error GoTo Fehler
intfehler = 1
ActiveWorkbook.CustomViews("Filter_Zwischenspeicher_Auswahl").Show
ActiveWorkbook.CustomViews("Filter_Zwischenspeicher_Auswahl").Delete
weiter1:
intfehler = 2
ActiveWorkbook.CustomViews("Filter_Zwischenspeicher").Show
ActiveWorkbook.CustomViews("Filter_Zwischenspeicher").Delete
weiter2:
Fehler:
With Err
Select Case .Number
Case 0
Case 5
Select Case intfehler
Case 1:     Resume weiter1 'CustomViews("Filter_Zwischenspeicher_Auswahl") exitiert  _
nicht
Case 2:     Resume weiter2 'CustomViews("Filter_Zwischenspeicher") exitiert nicht
End Select
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description, vbInformation
End Select
End With
End Sub

Anzeige
AW: Benutzerdef. Ansicht per VBA Abfragen
28.01.2021 18:32:11
Steinwolf
Hallo.
Herzlichen Dank!!! Das ging ja schnell.
Werde das Morgen, wenn ich wieder in der Firma bin, gleich ausprobieren.
Danke nochmal!
LG,
Steinwolf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige