Hallo Walter,
ich hab dein Makro bei mir getestet unter Excel 2010, Office 2010, Windows Vista - alles deutsch mit deutschen Ländereineinstellungen.
Da funktioniert dein Makro wenn ich in
„=ZÄHLENWENN(A:A,A1)>1“
das Komma durch ein Semikolon ersetze.
„=ZÄHLENWENN(A:A;A1)>1“
Wurde dein neuer Rechner mit anderen Länder- oder Spracheinstellungen oder anderer Sprachversion von Excel eingerichtet? Oder hast du in Excel unter Optionen die Übernahme der Trennzeichen von der Systemsteuerung deaktiviert und z.B. „.“ als Dezimal- und „,“ als 1000er-Trennzeichen eingestellt?
Wenn ich auf meinem Rechner unter Regions- und Spracheinstellungen die Sprache auf Englisch(US) ändere oder den Punkt als Dezimaltrennzeichen in den Exceloptionen, dann läuft dein Makro mit dem Komma als Trennzeichen in der Formel ohne Fehler durch. Die Semikolonversion meldet dann aber Fehler.
Mit den folgenden Anpassungen sollte das Makro unabhängig von den Einstellungen funktionieren.
Gruß
Franz
Sub Schaltfläche144\_KlickenSieAuf()
Columns("A:A").Select
Cells.FormatConditions.Delete
Columns("A:A").Select
Select Case Application.International(xlListSeparator)
Case "," 'gilt u.a. standardmäig für Englisch(US,UK)
Selection.FormatConditions.Add Type:=xlExpression, Operator:=xlEqual, \_
Formula1:="=ZÄHLENWENN(A:A,A1)\>1"
Case ";" 'gilt u.a. standardmäig für Deutsch(DE,A,CH)
Selection.FormatConditions.Add Type:=xlExpression, Operator:=xlEqual, \_
Formula1:="=ZÄHLENWENN(A:A;A1)\>1"
End Select
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
.Color = -16776961
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = True
ActiveSheet.Range("$A$1:blush:C$37").AutoFilter Field:=1, \_
Criteria1:=RGB(255, 0, 0), Operator:=xlFilterFontColor
End Sub