Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
388to392
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
388to392
388to392
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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.

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
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.
Anzeige
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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige