Hallo!
Ich habe folgendes Problem mit VBA in Excel.
Da ich nahezu fast gar keine Erfahrung in VBA habe, habe ich mit folgender Aufgabenstellung ein Problem.
Ich möchte gerne in einen Arbeitsblatt, bestimmte Zellen farblich makieren wenn in einer bestimmten Zelle ein #NV durch Eingabe des User enstehen.
z.b.
Spalte A Spalte B SpalteC Spalte X
Produktbereich Produktfunktion Produktname Prüfung
1 2 3 o.k.
1 1 3 #NV
1,2,3 - diese Daten sind vom User einzugeben - stimmen diese Daten nicht mit vorhandenen Produktkatalog überein ensteht in Zelle X durch einen sverweis ein #NV und dann hätte ich gerne Spalte A bis C farblich rot makiert.
Habe es schon mit folgenden Code versucht - dieser ist aber von der Performance her nicht zu gebrauchen - es dauert ewig bis man seine nächste Eingabe wieder tätigen kann bis das Makro durch ist:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim zelle As Range
Dim bereich As Range
Set bereich = Range("x:x")
For Each zelle In bereich
If IsError(zelle.Value) Then
zelle.EntireRow.Interior.ColorIndex = 3
Else
If zelle.Value = "" Then
zelle.EntireRow.Interior.ColorIndex = 2
End If
End If
Next
End Sub
Kann mir bitte jemand weiterhelfen - ich habe schon den ganzen Google durchstöbert - aber wie immer findet man gerade das nicht was man braucht:-(
Vielen Dank!
LG
Gudrun
Ich habe folgendes Problem mit VBA in Excel.
Da ich nahezu fast gar keine Erfahrung in VBA habe, habe ich mit folgender Aufgabenstellung ein Problem.
Ich möchte gerne in einen Arbeitsblatt, bestimmte Zellen farblich makieren wenn in einer bestimmten Zelle ein #NV durch Eingabe des User enstehen.
z.b.
Spalte A Spalte B SpalteC Spalte X
Produktbereich Produktfunktion Produktname Prüfung
1 2 3 o.k.
1 1 3 #NV
1,2,3 - diese Daten sind vom User einzugeben - stimmen diese Daten nicht mit vorhandenen Produktkatalog überein ensteht in Zelle X durch einen sverweis ein #NV und dann hätte ich gerne Spalte A bis C farblich rot makiert.
Habe es schon mit folgenden Code versucht - dieser ist aber von der Performance her nicht zu gebrauchen - es dauert ewig bis man seine nächste Eingabe wieder tätigen kann bis das Makro durch ist:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim zelle As Range
Dim bereich As Range
Set bereich = Range("x:x")
For Each zelle In bereich
If IsError(zelle.Value) Then
zelle.EntireRow.Interior.ColorIndex = 3
Else
If zelle.Value = "" Then
zelle.EntireRow.Interior.ColorIndex = 2
End If
End If
Next
End Sub
Kann mir bitte jemand weiterhelfen - ich habe schon den ganzen Google durchstöbert - aber wie immer findet man gerade das nicht was man braucht:-(
Vielen Dank!
LG
Gudrun
Comment