Anzeige
Archiv - Navigation
1608to1612
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA: Problem mit Vergleich + Bedingte Form.

VBA: Problem mit Vergleich + Bedingte Form.
14.02.2018 19:00:31
Michael
Hallo,
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

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Problem mit Vergleich + Bedingte Form.
15.02.2018 07:01:23
Luschi
Hallo Michael,
überprüfe doch mal die Einstellungen des Listentrennzeichens,
https://support.microsoft.com/de-de/help/2853427/formula-errors-in-excel-when-list-separater-is-not-set-correctly. Vielleicht ist es am mexikanischen PC in Vba das ';'.
Außerdem ist mir nicht klar, waß Du mit der Vergleichsformel erreichen willst, da Du diesen nicht mit einem Zellinhalt vergleichst. So ergibt jeder Wert, außer '0' (Null) den Wahrheitswert 'True' und erfüllt die Bedingung.
Gruß von Luschi
aus klein-Paris
AW: VBA: Problem mit Vergleich + Bedingte Form.
15.02.2018 16:57:34
Michael
Hallo Luschi,
vielen Dank für deine Antwort. Leider funktioniert es weder mit dem "," noch mit dem ";".
Hmm also wenn ich die Art von Formel ohne VBA benutze, dann funktioniert es an sich. Ich habe diese Mal aufgedröselt.
Formula1:="=MATCH(" & fcellad & "," & matchrngad & ",0)"
fcellad = Zelle I9
matchrngad = Range A9:A59 in einem anderen Tabellenblatt
0 = Formatierung nur wenn der Wert genau übereinstimmt
Anzeige
AW: VBA: Problem mit Vergleich + Bedingte Form.
17.02.2018 12:00:59
Luschi
Hallo Michael,
natürlich funktioniert die Vergleich()-Funktion, wenn es darum geht, zu Prüfen, ob der Wert sich in einem vordefinierten Bereich befindet. Da ich auf meinem deutschen Windows/Excel bei der bedingten Formatierung die landestypischen Funktionsnamen (also statt MATCH(...) VERGLEICH()) auch in Vba benutzen muß, kann es also nur noch an das landestypische Listenkennzeichen (Komma oder Semikolon) liegen.
Aber was auf einem Mexikanischen System da Standard ist, weiß ich leider nicht. Ganz verrückt wird es dann, wenn in Windows der Standard auf USA eingestellt und in Excel vielleicht eine andere Einstellung gültig ist. Da hilt natürlich nur TeamViewer oder eine Dienstreise, es sei denn, do bist schon vor Ort.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: VBA: Problem mit Vergleich + Bedingte Form.
17.02.2018 20:46:39
Michael
Hmm ja dann werde ich noch etwas rumprobieren. Vielen Dank für den abermals guten Input von dir Luschi!

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige