Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1072to1076
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
Inhaltsverzeichnis

Nicht zusammenhängede Bereiche zu Areas zusammenf.

Nicht zusammenhängede Bereiche zu Areas zusammenf.
03.05.2009 02:51:05
Norman
Hi,
ich habe ein etwas eigenartiges Problem: In einer Collection habe ich x Cells abgelegt, die nur teilweise zusammen hängen. Jetzt muss ich für diese Zellen die Adressen ausgeben (über Address). Da es eine ganze Menge Zellen sein können habe ich natürlich ziemlich viele Ausgaben. Ich möchte deshalb zusammen hängende Zellen als Zellbereich (z.B. A1:B5) ausgeben, anstatt jede Zelle einzeln auszugeben.
Da man eine Range meines Wissens nach nicht einfach manuell erzeugen kann war meine erste Idee einfach alle Zellen zu selektieren (per select) und dann mit areas zu arbeiten. Dummerweise lässt Select nur 32 Zellen als Parameter zu. Ich habe dann mit der Makroaufzeichnung mal mehr als 32 Zellen selektiert und herausgefunden, dass Excel dann eine Union aufbaut. Da aber die Zellanzahl, dich ich in der Collection habe, unterschiedlich groß sein kann, komme ich mit einer statischen Union nicht weiter.
Hat jemand eine Idee, wie ich das Problem lösen kann, ohne einen Algorithmus zu schreiben, der die Zellbereiche analysiert? Wäre schon chic, wenn ich einfach die Areas einer Range nutzen könnte.
Bin für Hilfe dankbar :)
Viele Grüße - Norman

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nicht zusammenhängede Bereiche zu Areas zusammenf.
03.05.2009 07:36:25
Tino
Hallo,
bin mir nicht sicher ob ich Dich richtig verstanden habe,
meinst Du so?
Sub Beispiel()
Dim rngZellen As Range
Dim A As Long

'Daten sammeln ***************************************************** 
For A = 1 To Columns.Count Step 2
 If rngZellen Is Nothing Then
  Set rngZellen = Range(Cells(1, A), Cells(10, A))
 Else
  Set rngZellen = Union(rngZellen, Range(Cells(1, A), Cells(10, A)))
 End If
Next A

'Daten ausgeben **************************************************** 
For Each rngZellen In rngZellen.Areas
 Debug.Print rngZellen.Address
Next rngZellen



End Sub


Gruß Tino

Anzeige
Vielen Dank, genau das wars!!!
03.05.2009 10:38:32
Norman
Coole Sache Tino, dank Dir, das war das was ich gesucht habe!
Viele Grüße
Norman

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige