Datei: https://www.herber.de/bbs/user/140229.xlsm
Guten Abend liebe Excel Profis,
in meiner Beispielmappe ist für meine Frage der blau hinterlegte Bereich auf Sheet("Detail") relevant. Ich möchte gern ausschließen, dass der User mehr als eine der gelben Zeilen auswählen bzw. markieren kann, da die im Folgenden ausgelösten Makros nur eine Zeile zur Zeit verarbeiten können.
Die Zeilen dazwischen sind später für den User übrigens nicht sichtbar bzw. werden ausgeblendet. Diese stellen die eigentlichen Werte für die weitere Datenverarbeitung dar. Die gelben Zeilen sollen mit der bedingten Formatierung nur dem Nutzer das Ergebnis darstellen.
Ich habe daher also eine Vorprüfungen einbauen wollen:
Dim Anfang, Ende As String
Dim Bereich_Alle As String
Anfang = Cells(Sheets("Detail").Range("Zuteil_A").Row, Sheets("Detail").Range("Zuteil_A").Column).Address
Ende = Cells(Sheets("Detail").Range("Zuteil_E").Row, Sheets("Detail").Range("Zuteil_E").Column _ + Sheets("Detail").Range("Zuteil_E").Columns.Count - 1).Address
Bereich_Alle = Anfang & ":" & Ende
If Not Intersect(Target, Range(Bereich_Alle)) Is Nothing Then
If Selection.Rows.Count * 1 Then (Das * ist ein "größer als")
MsgBox "Es kann nur eine Organisationseinheit zur Zeit verarbeitet werden. Bitte die Auswahl anpassen."
End If
End If
Das selection.rows.count funktioniert auch super, aber nur solange mehrere Zeilen mit gedrückter Maustaste markiert werden. Wenn allerdings mit gedrückter Strg Taste und Mausklicks gelbe Zellen in mehreren Zeilen ausgewählt werden, funktioniert das wieder nicht.
Wo liegt bitte mein Denkfehler? Hat hier jemand eine Tip für mich oder eine einfachere Lösung, um zu verhindern, dass Zellen in unterschiedlichen gelben Zeilen markiert werden?
Die Markierung mehrerer Zeilen wäre noch ok, ich benötige praktisch eine Art Prüfung dazu, um den User per msgbox darauf hinzuweisen, dass nur 1 Zeile zur Zeit verarbeitet werden kann.
Ich bedanke mich schon im Voraus.
Schönen Abend allerseits und Grüße aus dem Süden,
Berni.