ich moechte folgendes tun:
Eine Bedingte Formatierung (folgender Code) soll mit Hilfe einer VERGLEICH-Funktion Zellen färben die Werte enhalten, die bereits in einer anderen Liste enthalten sind. Das ganze soll dynamisch geschehen, deswegen habe ich in der VERGLEICH-Funktion nicht z.B. "$A$2:$A$4", sondern die Variable matchrngad stehen.
ws.Range("Z1:Z4").FormatConditions.Add Type:=xlExpression, _
Formula1:="=VERGLEICH(Z2;matchrngad;0)"
ws.Range("Z1:Z4").FormatConditions(1).Interior.ColorIndex = 40
Matchrngad soll sich wiederum so zusammensetzen:
Dim ws2 As Worksheet
Set ws2 = Tabelle3
Set matchrng = ws2.Range(ws2.Cells(2, jrunner), ws2.Cells(rlast2, jrunner))
matchrngad = "ws2.Name" & "!" & "matchrng.Address"
Denn so würde es ja auch in der Formel der bedingten Formatierung stehen "Paste!$A$2:$A$4". Leider bekomme ich die Fehlermeldung "Typen unverträglich". Kann mir jemand weiterhelfen?
Vielen Dank im Voraus
Michael
Kompletter Code:
Sub zz()
Dim ws As Worksheet
Set ws = Tabelle1
Dim ws2 As Worksheet
Set ws2 = Tabelle3
Dim rlast2 As Integer
Dim matchrng As Range
Dim jrunner As Integer
Dim matchrngad As Integer
' Das("Z1:Z4")muss dynamisch werden (For-Schleife)
' Delete eibauen
rlast2 = ws2.UsedRange.SpecialCells(xlCellTypeLastCell).Row
For jrunner = 1 To 30
If ws2.Cells(1, jrunner).Value = "Comments" Then
Set matchrng = ws2.Range(ws2.Cells(2, jrunner), ws2.Cells(rlast2, jrunner))
Debug.Print (matchrng.Address)
Debug.Print (ws2.Name)
matchrngad = "ws2.Name" & "!" & "matchrng.Address"
Debug.Print (matchrngad)
End If
Next
ws.Range("Z1:Z4").FormatConditions.Add Type:=xlExpression, _
Formula1:="=VERGLEICH(Z2;matchrngad;0)"
ws.Range("Z1:Z4").FormatConditions(1).Interior.ColorIndex = 40