Scheinbar hast du dir noch nicht die Zeit genommen das Makro, welches dir gegeben wurde, nachzuvollziehen. Auf diese Weise kommt man nicht sehr weit...
Bleiben wir mal beim Beispiel aus deinem anderen Thema:
Automarke |
Modell |
Farbe |
PS |
Mercedes |
A-Klasse |
Rot |
125 |
BMW |
3er |
Grün |
130 |
Mercedes |
C-Klasse |
Rot |
185 |
Vielleicht wird es auf diese Weise etwas klarer.
Ich rate dazu dir den Inhalt der einzelnen Variablen mal im Einzelschritt (F8) anzusehen.
'...
Dim vntArray As Variant: vntArray = rngTable.Value
Dim vntInclude As Variant
Dim vntIfEmpty As Variant: vntIfEmpty = CVErr(xlErrNA)
Dim strFormula As String
Dim vntResult As Variant
strFormula = "(%ADDR1=""%VAL1"")*(%ADDR2=""%VAL2"")"
'Auto-Farbe
strFormula = Replace$(strFormula, "%ADDR1", rngTable.Columns(3).Address)
strFormula = Replace$(strFormula, "%VAL1", "Rot")
'Auto-Modell
strFormula = Replace$(strFormula, "%ADDR2", rngTable.Columns(2).Address)
strFormula = Replace$(strFormula, "%VAL2", "A-Klasse")
Call MsgBox(strFormula, vbInformation, "Formel:")
vntInclude = rngTable.Worksheet.Evaluate(strFormula)
'zwecks Bezeichner, siehe:
' https://support.microsoft.com/en-us/office/filter-function-f4f7cb66-82eb-4767-8f7c-4877ad80c759
vntResult = WorksheetFunction.Filter(vntArray, vntInclude, vntIfEmpty)
' => liefert Array: Mercedes A-Klasse Rot 125
'...
Grüße
|