Farbe ändern aufgrund If Bedingung

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Farbe ändern aufgrund If Bedingung
von: Maggus
Geschrieben am: 03.11.2003 13:09:37

Hallo zusammen,

ich stehe irgendwie auf dem Schlauch und benötige etwas Rat. Bisher habe ich ein Makro das mir aus zwei Tabellenblattern einen Nr. Abgleich fährt und dann bei übereinstimmung (xlPart) eine andere Nummer kopiert.

Mein Problem: Die Nr. über die der Abgleich läuft sind nicht immer exakt gleich z.B. soll 23758 = 23758* sein, doch 23758** sollte nicht ohne weiteres akzeptiert werden. Daher möchte ich eine IF Bedingung einbauen, sobald in dem gefundenen Wert zwei oder mehr * auftauchen soll er mir die neue Zeile farbig markieren, und da tappe ich im dunkel. Wie kann ich das realisieren.

Gruß
Markus

Sheets(1).Activate
lastrow = Cells(Rows.Count, 1).End(xlUp).Row

For i = 1 To lastrow
Wert = Cells(i, 1).Value
With Sheets(2).Columns(3)
Set C = .Find(Wert, LookIn:=xlValues, LookAt:=xlPart)
If Not C Is Nothing Then
MyCell = "00000" + C(1, -1)

Cells(i, 4) = MyCell
End If
End With
Next i

Bild


Betrifft: AW: Farbe ändern aufgrund If Bedingung
von: Mac4
Geschrieben am: 03.11.2003 14:04:42

Hi,

so kannst Du bspw. für die Zelle A1 abfragen, ob sich im Text mehr als 2 * befinden, wenn ja, wird die Zelle rot gefärbt:


Sub test()
If Len([A1]) - Len(Application.WorksheetFunction.Substitute([A1], "*", "")) >= 2 Then
[A1].Interior.ColorIndex = 3
End If
End Sub


Marc


Bild


Betrifft: AW: Farbe ändern aufgrund If Bedingung
von: Maggus
Geschrieben am: 03.11.2003 15:06:29

Hallo Marc,

vielen Dank ich habe es jetzt für die ganze reihe übernommen.


Sub Nr_übertragen()
'
' Nr_übertragen() Makro
'
Sheets(1).Activate
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To lastrow
Wert = Cells(i, 1).Value
With Sheets(2).Columns(3)
Set C = .Find(Wert, LookIn:=xlValues, LookAt:=xlPart)
If Not C Is Nothing Then
   MyCell = "00000" + C(1, -1) 'sorgt für die Vornullen 
   If Len(C) - Len(Application.WorksheetFunction.Substitute([C], "*", "")) >= 2 Then
   Rows(i).Interior.ColorIndex = 3
   MsgBox "Es wurde eine Nr doppelt gefunden und rot markiert."
   End If
   
   Cells(i, 4) = MyCell   
End If
End With
Next i
End Sub



Bild

Beiträge aus den Excel-Beispielen zum Thema " Farbe ändern aufgrund If Bedingung"