Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: ManuelB am März 08, 2019, 11:36:23 Vormittag
-
Hallo Zusammen,
ich habe eine Excelliste mit einem automatischen Filter über VBA erstellt, welchen ich im Internet gefunden habe.
Der Code funktioniert und aktualisiert meine Tabelle regelmäßig nach jeder Eingabe. Leider bekomme ich beim bearbeiten von Formeln oder bei Eingabe von Informationen in die Tabelle immer eine Fehlernachricht. (Bild der Fehlernachricht im Anhang)
Der Code lautet:
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("Übersicht").AutoFilter.ApplyFilter
End Sub
Könnt Ihr mir helfen wie ich den Code abändern kann oder die Fehlernachricht deaktivieren kann?
Danke! :)
Gruß
Manuel
-
Man kann die Fehlermeldung vermeiden:
Entweder so:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume next
Sheets("Übersicht").AutoFilter.ApplyFilter
End Sub
Dann wird bei jedem Fehler einfach mit der folgenden Zeile weiter gemacht. Besser ist dies:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Goto Fehler
Sheets("Übersicht").AutoFilter.ApplyFilter
weiter:
Exit Sub
Fehler:
With Err
Select Case .Number
Case 91
Case Else
End With
End Sub
-
Vergiss den vorhergehenden Text, hab zu schnell auf Absenden geklickt.
Also, man kann die Fehlermeldung vermeiden:
Entweder so:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Sheets("Übersicht").AutoFilter.ApplyFilter
End Sub
Dann wird bei jedem Fehler einfach mit der folgenden Zeile weiter gemacht.
Besser ist dies:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Goto Fehler
Sheets("Übersicht").AutoFilter.ApplyFilter
weiter:
Exit Sub
Fehler:
With Err
Select Case .Number
Case 91
Resume Next
Case Else
MsgBox .Description, vbCritical, .Number
Resume weiter
End With
End Sub
-
Hey Hardness,
danke für die tolle Antwort.
Leider gab es bei dem immer eine Fehlernachricht, dass es ein Problem mit dem Kompilieren gab. "With ohne With"
Besser ist dies:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Goto Fehler
Sheets("Übersicht").AutoFilter.ApplyFilter
weiter:
Exit Sub
Fehler:
With Err
Select Case .Number
Case 91
Resume Next
Case Else
MsgBox .Description, vbCritical, .Number
Resume weiter
End With
End Sub
Aber der erste Code hat dafür Problemlos funktioniert :)
Also, man kann die Fehlermeldung vermeiden:
Entweder so:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Sheets("Übersicht").AutoFilter.ApplyFilter
End Sub
Es taucht keine Fehlernachricht mehr auf.
Besten Dank :)
Wünsche eine schöne Woche.
Gruß
Manuel
-
Tschuldigung, bin ein oller Schusselkopp. Habe da in der Tat noch was vergessen:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Goto Fehler
Sheets("Übersicht").AutoFilter.ApplyFilter
weiter:
Exit Sub
Fehler:
With Err
Select Case .Number
Case 91
Resume Next
Case Else
MsgBox .Description, vbCritical, .Number
Resume weiter
End Select
End With
End Sub
So sollte das funktionieren.