Stellen Sie die Bezeichnung der ersten Zelle eines markierten Bereichs fest
Mitunter ist es erforderlich, die Adresse der ersten Zelle eines markierten Bereichs festzustellen. Per Definition ist dieses nicht die aktive Zelle sondern die Zelle oben links. Das folgende Bild zeigt den Unterschied auf:
Folgender Code wird beide Möglichkeiten abdecken:
Sub ZelleAdresse() Dim strErsteZelle As String, strAktiveZelle As String If Selection.Cells.Count = 1 Then MsgBox "Nur 1 Zelle markiert: " & ActiveCell.Address(0, 0) Exit Sub End If strErsteZelle = Selection.Cells(1, 1).Address(0, 0) strAktiveZelle = ActiveCell.Address(0, 0) MsgBox "Die erste Zelle der Markierung ist: " & strErsteZelle & vbCrLf _ & "Die Aktive Zelle der Markierung ist: " & strAktiveZelle End Sub
Wollen Sie statt der Adresse als String die eigentliche Zelladresse als Range zurück bekommen, dann definieren Sie die Variable als Range und die Zeilen würden dann so aussehen:
'[...] Dim rngErsteZelle As Range '[...] Set rngErsteZelle = Selection.Cells(1, 1) rngErsteZelle.Interior.Color = RGB(0, 255, 0) 'Hintergrund grün
[NachObenLetzte Verweis=„CS: Erste und Aktive Zelle”]