it-swarm.com.de

Vom Benutzer ausgewählten Bereich abrufen

Wie kann ich einen Zellbereich per Benutzereingabe mit der Maus zur weiteren Verarbeitung mit VBA auswählen lassen?

33
Talguy

Sie können das Auswahlobjekt durchlaufen, um zu sehen, was ausgewählt wurde. Hier ist ein Codeausschnitt von Microsoft (http://msdn.Microsoft.com/en-us/library/aa203726(office.11).aspx):

Sub Count_Selection()
    Dim cell As Object
    Dim count As Integer
    count = 0
    For Each cell In Selection
        count = count + 1
    Next cell
    MsgBox count & " item(s) selected"
End Sub
28
Miyagi Coder

Selection ist ein eigenes Objekt in VBA. Es funktioniert ähnlich wie ein Range -Objekt.

Auswahl und Bereich haben jedoch nicht die gleichen Eigenschaften und Methoden. Zur Vereinfachung der Verwendung ist es möglicherweise sinnvoll, nur einen Bereich zu erstellen und ihn der Auswahl gleichzusetzen. Sie können ihn dann wie jeden anderen Bereich programmgesteuert verarbeiten.

Dim myRange as Range
Set myRange = Selection

Weitere Informationen finden Sie im MSDN-Artikel .

33
Michael

Dies hängt davon ab, was Sie unter "Auswahlbereich abrufen" verstehen. Wenn Sie den Bereich Adresse (wie "A1: B1") abrufen möchten, verwenden Sie die Eigenschaft Address des Selection-Objekts. Wie Michael sagte, ähnelt das Selection-Objekt einem Range-Objekt. Die meisten Eigenschaften und Methoden funktionieren also es.

Sub test()
    Dim myString As String
    myString = Selection.Address
End Sub
12
Peter Majko