Eine Möglichkeit (gilt nur für die Spalten A bis E):
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim lrow As Long
Dim sCol As Long
sCol = Target.Column
If Not Intersect(Target, Columns("A:E")) Is Nothing Then
If Intersect(Target, Columns(sCol)).Address = Columns(sCol).Address Then
lrow = Cells(Rows.Count, Target.Column()).End(xlUp).Row
Range(Cells(2, Target.Column()), Cells(lrow, Target.Column())).Select
End If
End If
End Sub
Wenn Sie die gesamte Spalte auswählen, ändert sich die Auswahl von Zeile 2 bis zur letzten ausgefüllten Zeile. Wenn Sie eine einzelne Zelle in der Spalte auswählen, geschieht nichts.
Klicken Sie mit der rechten Maustaste auf die Registerkarte Blatt, wählen Sie "Code anzeigen" aus, und fügen Sie den Code in den großen weißen Codebereich des Visual Basic-Editors ein. Schließen Sie die VBE. Denken Sie daran, die Arbeitsmappe als makroaktivierte Datei zu speichern, wenn Sie Excel 2007 oder höher ausführen.