Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Ermittlung eines markierten Zellbereichs über VBA

3,419 views
Skip to first unread message

Thomas Wiedmann

unread,
Jun 27, 2009, 7:16:01 AM6/27/09
to

Hallo,

mit welchem VBA-Statement kann man sich in Excel 2000 einen markierten
Zellbereich wiedergeben lassen?
Und mit welchen VBA-Statements kann man markierte Zellen innerhalb einer
Spalte, z. B. B20:B24, nacheinander durchlaufen und auf die Werte der
markierten Zellen zugreifen (, um dann im folgenden per VBA damit
weiterrechnen zu k�nnen)?

Thomas Wiedmann

Andreas Killer

unread,
Jun 27, 2009, 8:17:46 AM6/27/09
to
Thomas Wiedmann schrieb:

> mit welchem VBA-Statement kann man sich in Excel 2000 einen markierten
> Zellbereich wiedergeben lassen?

Selection gibt alles wieder was gerade markiert ist, d.h. nicht nur
Zellen sondern auch Grafiken, etc.

> Und mit welchen VBA-Statements kann man markierte Zellen innerhalb einer
> Spalte, z. B. B20:B24, nacheinander durchlaufen und auf die Werte der
> markierten Zellen zugreifen (, um dann im folgenden per VBA damit
> weiterrechnen zu k�nnen)?

Da g�be es verschiedene M�glichkeiten, �berwiegend durchl�uft man
einen Bereich mit einer "for each"-Schleife.

Ob der Range dabei von Selection, oder Range("B20:B24") oder
ActiveCell oder sonstwoher kommt ist wurscht.

Andreas.

Sub test()
Dim C As Range
'Sind Zellen markiert?
If TypeOf Selection Is Range Then
For Each C In Selection
'C ist jede einzelne Zelle
Debug.Print C.Address
Next
End If
End Sub

Claus Busch

unread,
Jun 27, 2009, 10:27:13 AM6/27/09
to

Hallo Thomas,

zu 1:
MsgBox Selection.Address(0,0) gibt dir die Adresse des selektierten
Bereichs.
zu 2:
Dim c as Range
For each c in Seelction
Deine Anweisung
next


Mit freundlichen Gr�ssen
Claus Busch
--
Win XP Prof SP2 / Vista Ultimate
Office 2003 SP2 / 2007 Ultimate

Thomas Wiedmann

unread,
Jun 28, 2009, 6:49:58 AM6/28/09
to
> zu 1:
> MsgBox Selection.Address(0,0) gibt dir die Adresse des selektierten
> Bereichs.
> zu 2:
> Dim c as Range
> For each c in Seelction
> Deine Anweisung
> next

Vielen Dank - hat mir geholfen und es funktioniert (mit Selection statt
Seelction (;-).

Thomas Wiedmann

0 new messages