vor ein paar Tagen habe ich auf eine Anfrage bzgl. obigem Thema von Peter W. folgenden Code genannt bekommen:
If Not Intersect(ActiveCell, Range("G5:G475")) Is Nothing Then
Worksheets("Detail6").Range("E1") = ActiveCell
End If
(... mein eigener Code...)
Wenn der Cursor sich innerhalb des Ranges ("G5:G475") befindet, kann ich über einen cmb_Button den Inhalt der Zelle kopieren und in WS ("Detail6") Range (E1") einfügen. Wird der cmb_Button angeklickt und der Cursor befindet sich außerhalb dieses Ranges, passiert nichts. Das ist gut so.
Jetzt habe ich aber innerhalb des Ranges ("G5:G475") Zellen, deren Inhalt mit Font.ColorIndex = 0 (schwarz) bzw. mit Font.ColorIndex = 5 (blau) gekennzeichnet sind. Der oben beschriebene Kopiervorgang soll nun nur dann stattfinden, wenn Font.ColorIndex = 5 ist, andernfalls soll eine MsgBox erscheinen. Den o.g. Code habe ich daher ergänzt:
If Not Intersect(ActiveCell, Range("G5:G475")) Is Nothing And _
ActiveCell.Font.ColorIndex = 5 Then
Worksheets("Detail6").Range("E1") = ActiveCell
Else
MsgBox "Keine Produkt-Gruppe der Stufe 5 ausgewählt"
Exit Sub
End If
(... mein eigener Code...)
Das läuft auch wie gewünscht durch, bis auf den kleinen Nachteil, daß die Fehlermeldung nunmehr auch dann erscheint, wenn der Cursor sich außerhalb des Ranges ("G5:G475") befindet. Das mag zwar kleinlich sein, aber ich hätte gerne, daß Excel in dem Fall, wie vorher auch, nichts macht.
Wie muß ich den Code abändern, um das so hinzubekommen?
Für Eure Hilfe im voraus besten Dank.
Gruß
Torsten