Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Tabellenbereich über den Titel erkennen

Forumthread: Tabellenbereich über den Titel erkennen

Tabellenbereich über den Titel erkennen
22.01.2007 14:53:59
Leon
Hallo,
ich suche schon seit langem eine VBA-Lösung, um eine Tabellenbereich
über deren Tabellentitel zu erkennen und den Bereich in einer Zelle zurückzuschreiben. Ich habe eine Vorstellung wie das funktionieren soll, aber nicht wie man das in VBA programmiert. Vielleicht hat jemand bereits einen Script dafür.
Also, ich habe in einem Arbeitblatt mehrere untereinander liegende Tabellen, die in ihrer Länge und Breite sich täglich ändern. Jede Tabelle hat einen eindeutigen Titel. Zwischen den Tabellen sind mehrere leere Zellen vorhanden.
Da in der Spalte A immer alle Titel stehen, suche ich zuerst den Wert der Zelle nehme diese als Koordinatenpunkt, um von hier aus nach unten und
rechts bis zur nächsten leeren Zelle zu gehen. Die nächsten Leeren Zellen
(nach unten und nach recht von Tabellentitel aus gesehen) ergeben für mich zusammen den Tabellenbereich. z.B.
z.B:
Tabellebereich der ermittelt und in einer Zelle zurückgegeben werden soll= A2:C4
sp1 | sp2 | sp3|sp4
z1 Titel
z2 |text |text |text|leer
z3 |text |text |text|leer
z4 |text |text |text|leer
z5 |leer |leer|leer |leer
vielen Dank für die Hilfe,
LEon
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenbereich über den Titel erkennen
22.01.2007 15:48:44
IngGi
Hallo Leon,
von Folgendem bin ich mal ausgegangen: Das Tabellenblatt mit den ganzen Tabellen ist das erste ganz links. Auf dem zweiten Tabellenblatt in Spalte A, ab Zeile 1 stehen die ganzen Titel als Quelle. Die Adressen der Tabellenbereiche werden hinter diese Titel in Spalte B geschrieben:

Sub test()
Dim rng As Range, rngTitel As Range
Dim ze As Long
Dim sp As Integer
For Each rngTitel In Sheets(2).Range("A1:A" & Sheets(1).Range("A65536").End(xlUp))
   Set rng = Sheets(1).Range("A:A") _
      .Find(What:="Titel1", LookAt:=xlWhole).Offset(1, 0)
   ze = rng.End(xlDown).Row
   sp = rng.End(xlToRight).Column
   Set rng = Range(rng, Sheets(1).Cells(ze, sp))
   rngTitel.Offset(0, 1) = rng.Address
Next 'rngTitel
End Sub
Gruß Ingolf
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