Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Adressen der Zellen eines Bereichs ???

Forumthread: Adressen der Zellen eines Bereichs ???

Adressen der Zellen eines Bereichs ???
27.02.2004 09:50:21
Ben
Hallo,
ich kapiere eins nicht. Wenn ich die Adresse jeder Zelle eines bestimmten Bereichs aufschreiben will, kann ich diese Zellen sozusagen durchzählen:

Sub adressen_aufzählen()
Dim index As Long
ActiveSheet.UsedRange.Select
For index = 1 To Selection.Cells.Count
Debug.Print Selection.Cells(index).Address(False, False)
Next index
End Sub


Funktioniert prima. Aber:
Nehmen wir an, im beschriebenen Bereich stehen einige Funktionen, und ich will deren Zelladressen auflisten. Wenn ich jetzt schreibe:

Sub funktionen_aufzählen()
Dim index As Long
ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas).Select
For index = 1 To Selection.Cells.Count
Debug.Print Selection.Cells(index).Address(False, False)
Next index
End Sub

Das funktioniert überhaupt nicht: Dann bekomme ich die Adressen: A1, A2, A3 ...
Wieso kann ich bei UsedRange die Zellen durchzählen - bei Cells.SpecialCells aber nicht? Das ist doch inkonsequent: In beiden Fällen haben wir ja einen Zellbereich mit einer ersten Zelle, zweiten Zelle usw.
Ja, wenn Euch hierzu etwas Klärendes einfällt, wäre ich Euch für ein paar Hinweise sehr dankbar.
Viele Grüße, Ben.
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Adressen der Zellen eines Bereichs ???
27.02.2004 10:18:10
Boris
Hi Ben,
liste sie mit For-Each auf:
Option Explicit

Sub mach_was()
Dim C As Range
For Each C In ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas)
MsgBox C.Address(0, 0)
Next C
End Sub


Grüße Boris
AW: Adressen der Zellen eines Bereichs ???
27.02.2004 10:19:51
Galenzo
Hallo,
teste mal das:
Dim c
For Each c In ActiveSheet.Range("A1").CurrentRegion.Cells.SpecialCells(xlCellTypeFormulas)
Debug.Print c.Address(2, 2)
Next
mit der for-each-Schleife werden die Adressen aller Zellen mit einer Formel im aktuellen Bereich um die Zelle A1 herum ausgegeben.
mfg
Anzeige
Herzlichen Dank!
27.02.2004 11:28:47
Ben
Hallo Boris und Galenzo,
vielen Dank für Eure Markos - die Lösung mit "For each ... " kenne ich - ich dachte nur, man könnte auch irgendwie die Zellen mit den Funktionen über einen Index durchzählen ...
Für Euch weiterhin alles Gute! Viele Grüße, Ben.
AW: for..next
27.02.2004 11:39:46
Galenzo
Natürlich bietet sich auch die Möglichkeit mit einer For-NExt an, da hab' ich noch
garnicht weiter drüber nachgedacht. Könnte aber wohl auch schneller sein? KEine Ahnung...
Probier diese Schleifenkonstruktion:
for x=1 to ActiveSheet.Range("A1").CurrentRegion.Cells.SpecialCells(xlCellTypeFormulas).Count
'.....
next
Also .count liefert dir die Anzahl.
mfg
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige