ich bekomme mit dem Code an der fett markierten Stelle (Ganz unten MATCH-Formula) folgende Fehlermeldung: "Invalid prodcedure or argument".
Excel läuft hier auf dem mexikanischen PC (statt MATCH auch schon COINCIDIR ausprobiert) auf Englisch (also MATCH, davor hat es auf dem deutschen PC mit "Vergleich" funktioniert)
Sieht jemand den Fehler? Hänge hier leider gerade schon seit einer Stunde.
Vielen Dank im Voraus!
Sub MATCHCode()
Dim ws_paste As Worksheet
Set ws_paste = Sheet6
Dim ws2 As Worksheet
Set ws2 = Sheet4
Dim mes As Integer
Dim rlast As Integer
Dim rlast2 As Integer
Dim irunner As Integer
Dim jrunner As Integer
Dim lngCriteriaCount As Long
Dim arrCriteria() As String
Dim sSpalte As String
Dim jSpalte As String
Dim Copy_area As Range
Dim paste_area As Range
Dim matchrngad As String
Dim ws2nombre As String
Dim matchrngdi As Variant
Dim checkrng As Range
Dim matchrng As Range
Dim fcell As Range
Dim fcellad As Variant
rlast = ws_paste.UsedRange.SpecialCells(xlCellTypeLastCell).Row
rlast2 = ws2.UsedRange.SpecialCells(xlCellTypeLastCell).Row
For irunner = 1 To 30
If ws_paste.Cells(8, irunner).Value = "BP Name" Then
Set checkrng = ws_paste.Range(ws_paste.Cells(9, irunner), ws_paste.Cells(rlast, irunner))
checkrng.FormatConditions.Delete
Debug.Print (checkrng.Address)
Set fcell = Cells(9, irunner)
Debug.Print (fcell.Value)
Debug.Print (fcell.Address(RowAbsolute:=False, ColumnAbsolute:=False))
fcellad = (fcell.Address(RowAbsolute:=False, ColumnAbsolute:=False))
End If
Next
Debug.Print (ws2.Cells(7, 2).Value)
For jrunner = 1 To 30
If ws2.Cells(7, jrunner).Value = "Proveedor" Then
Set matchrng = ws2.Range(ws2.Cells(8, jrunner), ws2.Cells(rlast2, jrunner))
ws2nombre = ws2.Name
matchrngdi = matchrng.Address
matchrngad = ws2nombre & "!" & matchrngdi
Debug.Print (matchrngad)
End If
Next
checkrng.FormatConditions.Add Type:=xlExpression, _
Formula1:="=MATCH(" & fcellad & "," & matchrngad & ",0)"
checkrng.FormatConditions(1).Interior.ColorIndex = 40
End Sub