Ich habe ein Problem mit einer Excel-Tabelle und deren integriertem VBA-Script.
Folgende Ausgangssituation:
Tabellenblatt "Masterdaten"
Inhalt eine Tabelle mit 6000 Zeilen und 10 Spalten
Tabellenblatt "Gruppen"
Inhalt eine Tabelle mit 10 Zeilen (stellt die Werksgruppe in Spalte A dar" und 8 Spalten (stellen die Werke dar)
In der letzten Spalte wird die Formel für die IF-Bedingung im VBA zusammengestellt.
Das VBA-Script soll nun die Daten aus dem Tabellenblatt "Masterdaten" in eine Datei exportieren und dabei nur die Daten exportieren in denen die Bedingung aus dem Tabellenblatt "Gruppen" übereinstimmt.
Beispiel "Gruppe" ist
Die IF-Bedinung soll bei allen Zeilen aus dem Tabellenblatt "Masterdaten" nur die Zeilen bearbeiten in denen die Spalte C der jeweiligen Zeile den Wert WerkA oder WerkB hat.
For 1 to 6000
If Cells(C, Zeile) "WerkA" And Cells(C, Zeile) "WerkB" Then
'Zeile wird von der Bearbeitng ausgeschlosssen
exit for
Else
'Zeile wird weiter bearbeitet
End IF
Next
Wenn ich die IF-Bedingung manuell eintrage funktioniert die Formel perfekt. Da sich die Bedingung aber häufig ändert wollte ich die Formel in dem Tabellenblatt "Gruppen" in der letzten Spalte automatisch generieren (funktioniert) und dann mittels einer Variablen nutzen.
ML_Filter = WorkSheets("Gruppen").Cells("J2")
'Variable ML_Filter enthält dann
' Cells(C, Zeile) "WerkA" And Cells(C, Zeile) "WerkB"
'Wert des Filter wurde mit MsgBox geprüft
For 1 to 6000
If ML_Filter Then
'Zeile wird von der Bearbeitng ausgeschlosssen
exit for
Else
'Zeile wird weiter bearbeitet
End IF
Next
Bei der obigen Implementierung bekomme ich immer den Fehler:
Fehler 13: Typen unverträglich
Kann mir jemand mit einer Idee helfen, wie ich die IF-Abfrage dynamisch gestalten kann. Die Anwender können das nicht in VBA anpassen.
Vielen Dank für die Hilfe im vorraus.
Chris