Markierung/Selection in Bereich/Range

Manch­mal kann es ganz sin­nvoll sein, einen markierten Bere­ich in eine Range-Vari­able zu übernehmen. Der Vorteil gegenüber ein­er fix­en Bere­ichs­de­f­i­n­i­tion ist klar, der Anwen­der bes­timmt, welch­er Bere­ich (Range) im jew­eili­gen Fall die Grund­lage für weit­ere Oper­a­tio­nen sein soll; der Code muss nicht angepasst wer­den.

Zugegeben, hier wird nicht geprüft, ob (in dem Blatt) über­haupt eine Zelle selek­tiert ist, aber das sollte stan­dard­mäßig entwed­er nicht erforder­lich sein oder mit ein­er If-Entschei­dung abge­fan­gen wer­den. 1 Zeile Code reicht eigentlich aus, der Voll­ständigkeit hal­ber hier eine Mini-Sub:

Sub Selection2Range()
   Dim Data As Range, c As Range
   
   Set Data = Range(Selection.Address(0, 0))
   For Each c In Data
      'Mach irgend etwas ...
   Next c
End Sub

Fer­tig.

[NachOben­Let­zte Verweis=„CS:Selection2Range”]
Dieser Beitrag wurde unter Code-Schnipsel, Tipps und Tricks abgelegt und mit , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.