Makro startet anderes Makro nicht
05.12.2022 11:38:14
Daniel
zuerst einmal möchte ich die Gelegenheit nutzen, mich für die vielen hilfreichen Beiträge zu bedanken, sie haben mir schon oft weitergeholfen.
Heute habe ich aber ein Problem, das ich leider nicht in Griff bekomme.
Ich habe eine Liste (siehe Upload), in der kann ich oben in dem Bereich B1:D1 Größenwerte eingeben.
In der darunter liegenden Tabelle (Bereich $A$3:$J$61) befinden sich Daten von Behältnissen.
In der Spalte H (passt) prüft eine Formel, ob die oben eingegebenen Dimensionen in den jeweiligen Behälter passt.
Hier der Link zu einer abgespeckten Version dieser Datei: https://www.herber.de/bbs/user/156529.xlsm
Nun wollte ich per Makro dafür sorgen, dass der Filter mit dem Kriterium "ja" , der auf der Spalte H liegt, immer dann aktualisert wird, wenn in dem Bereich B1:D1 etwas eingegeben wird.
Ich habe es so gelöst:
Im Modul1 habe ich folgenden Code eingetragen:
Sub Filter_aktualisieren()
ActiveSheet.Range("$A$3:$J$61").AutoFilter Field:=8, Criteria1:="ja"
MsgBox "Im Bereich B1:D1 wurde eine Zelle geändert!"
End Sub
In der Tabelle1 habe ich folgenden Code eingefügt:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B1:D1")) Is Nothing Then
Call Filter_aktualisieren
End If
End Sub
Sprich, das Privat Sub Worksheet_Change soll immer dann das Sub Filter_aktualisieren auslösen, wenn in einer der Zellen B1:D1 eine Änderung vorgenommen wurde.Doch leider passiert nichts. Deshalb habe ich vorübergehend die MsgBox in das Sub Filter_aktualisieren eingefügt, um zu sehen, ob das Makro überhaupt nicht gestartet wird.
die Meldung kommt, nur die Filter-Aufgabe wird nicht durchgeführt.
Parallel habe ich das Sub Filter_aktualisieren auf einen Button 'Filter aktualisieren' gelegt und dort funktioniert es einwandfrei.
Kann mir hier jemand sagen, wo ich den Fehler habe?
Vielen Dank,
Daniel