Makro alle Tabellenblätternamen
#1
Hallöchen,

ich habe eine Frage bzgl. eines Makros, dass mir alle Tabellenblätter die ich anlege in eine Zelle hintereinander schreibt.

folgendes Makro habe ich gefunden, allerdings werden da nur alle Tabellenblätter in einer Spalte untereinander angeordnet.

Code:
Sub Tabellenliste()
Sheets(1).Select
Sheets.Add
Sheets(1).Name = "Inhalt"
n = 1
For Each i In Worksheets
If i.Index <> 1 Then Range("a" & n - 1).Value = i.Name
n = n + 1
Next i
End Sub

Ziel des ganzen ist es, aus alles Tabellennamen die INDEX() Matrix zu bilden. natürlich könnte ich die Blattnamen einfach so reinschreiben:

Code:
INDEX({"Rohbau";"Trockenbau";"Daten200"}; .... )


Aber dann müsste ich jedes mal wenn ein neues Tabellenblatt angelegt wird die INDEX() Matrix updaten.

Mit dem Makro erhoffe ich mir, alle Tabellennamen mit >> "...";"..."; << aneinanderreihen kann und dann einfach in der INDEX() Matrix die jeweilige Zelle in der die Aufzählung der Tabellenblätter "verlinke".

Vielen Dank im Vorraus - Makros sind mir dann doch einfach zu hoch :s


EDIT::// Die INDEX() Formel ist bestandteil eines SVERWEIS() mit dem ich alle Tabellenblätter durchsuche. Vielleicht ist es irgendwie anders möglich das komplette Worksheet mit allen Tabellenblättern nach einem Suchkriterium zu durchsuchen?
Top
#2
Hallo,

irgendwie verstehe ich Dein Vorhaben nicht ganz.

Was genau ist Dein Ziel? Ein dynamischer SVERWEIS, der nach Auswahl des Tabellenblatts einen Wert in diesem Tabellenblatt sucht? Wie hast Du Dir das ganze vorgstellt? Kannst Du mal eine Beispieldatei hochladen?
Gruß
Michael
Top
#3
Letztendlich möchte ich folgendes erreichen:


ich habe ein Worksheet mit ca 15 Tabellenblättern die sich auch erweitern, nächste Woche sinds z.b. schon 16 usw.
Auf dem ersten Blatt habe ich eine Art Übersicht, die anderen Blätter sind gefüllt mit Daten.

Durch einen SVERWEIS kann ich schon mit einem Kürzen aus den jeweiligen Tabellenblättern Daten in die Übersicht eintragen.

Ich gebe z.b. "R1" in die Zelle A4 ein und "Blatt2" in die Zelle A3 und automatisch füllen sich B4 bis F4 mit den Daten aus dem Blatt2 die sich in der Zeile mit "R1" befinden.
Das alles funktioniert schon.

Nun möchte ich auf der Übersichtsseite eine Suche integrieren, bei der ich einen Begriff eingebe und die Suche soll nun alle Tabellenblätter durchsuchen und mir die Kürzel ausgeben die ich auf den Tabellenblättern in der Spalte A für den Suchbegriff vergeben habe ausspucken. Es kann sein, dass ein Suchbegriff auf mehreren Blättern unter verschiedenen Kürzeln abgelegt ist. D.h. die Suche soll mir das entsprechend ausgeben. Dabei ist zu berücksichtigen, dass die Suche auch Teilstücke der in der Zelle befindlichen Textelemente finden soll.

Kurzgesagt, komplettes Worksheet bis auf die Übersichtsseite durchsuchen und Begriffe aus der Zeile die gefunden wird ausgeben.

Wie ist das möglich? Ich schau mir schon diverse Youtube videos an zu Aggregat etc. aber zu einem ergebnis bin ich noch nicht gekommen.

Danke!


Angehängte Dateien
.xlsx   BeispielSVERWEIS.xlsx (Größe: 37,9 KB / Downloads: 6)
Top
#4
Moin!
Überdenke den Mappenaufbau!
Die KWs untereinander in EIN Blatt mit der zusätzlichen Spalte KW
Dann kannst Du bequem filtern und auswerten.
Gern auch iVm einem Pivot-Table.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#5
Der Mappenaufbau funktioniert nur so. Die Beispieldatei ist natürlich untertrieben. Die Mappen sind eine Art Artikelliste mit unterschiedlichen Überbegriffen.
Top
#6
(27.10.2017, 11:31)Eiskaffee schrieb: Der Mappenaufbau funktioniert nur so.

Dann wünsche ich viel Spaß bei der Auswertung.
(und bin hier weg, denn dies tue ich mir nicht an)

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Eiskaffee
Top
#7
Zu Deinem Vorhaben:
Bei gegebener Mappe ist es schon sehr ambitioniert, das ganze mit Formeln auszuwerten. Zumal ich Deine Ausführungen so deute, dass Du von Formeln wenig bis mittlere Ahnung hast. Das ganze wäre mit VBA noch möglich, aber ohne Vorkenntnisse ebenfalls als höchst ambitioniert zu werten.

Zum Thema Mappenaufbau:
Ich kann eigentlich Ralfs Aussage doppelt und dreifach unterstreichen. Und die Antwort "geht nur so" kann ich nicht nachvollziehen. Denn ändern kann man immer etwas und wenn Abhängigkeiten mit anderen Tabellen/Gegebenheiten betsehen, muss man das ganze betrachten und abwägen. Aber mal pauschal zu sagen, dass es nicht geht ist zu einfach.
Durch den vorgeschlagenen Aufbau wäre eine Suche erheblich einfacher. Die Auswertung der Daten durch Pivot, Formeln oder was auch immer wäre ebenfalls leichter.

Alternative Idee:
Gegebenenfalls könnte man bei gleichem Aufbau die Daten der Mappen per PowerQuery in eine Tabelle ziehen und diese dann entsprechend durchsuchen/auswerten. Das erfordert allerdings auch eine gewisse Einarbeitungszeit in PowerQuery, da dieses Addon nicht völlig selbsterklärend ist.
Gruß
Michael
Top
#8
Auch von mir noch ein Vorschlag.
Mit identischen Tabellen gibt es einen Workaround.
Füge zwei leere Tabellenblätter "Start" und "Stop" ein.
Das Auswerteblatt muss vor Start oder nach Stop sein.
Dann geht sowas:
[img]
Dateiupload bitte im Forum! So geht es: Klick mich!
]
Fügst Du nun ein neues Blatt zwischen Start und Stop ein, erweitert sich der Auswertebereich.
Die beiden Blätter kannst Du sogar ausblenden.

(Ändert aber nix an meiner bisherigen Empfehlung)

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#9
Ich konnte mein Vorhaben nun Lösen.


Code:
=INDEX(INDIREKT("'"&$C3&"'!A:A");VERGLEICH(VERKETTEN("*";C4;"*");INDIREKT("'"&$C3&"'!B:B");0))



Kurze Erklärung:

INDEX / VERGLEICH wird zu hauf im Internet erklärt, was ich erreichen musste: Meine zu durchsuchende Matrix im INDEX() bezieht sich immer auf unterschiedliche Tabellenblätter. Da mir die bei der Suche aber eigentlich schon klar sein sollten habe ich nun 2 Parameter für mein Vorgehen:

In C3 wird der Tabellenblattname angegeben
In C4 schreibe ich den Suchbegriff

Die Zellinhalte die mich interessieren befinden sich in C3!A:A, die möglichen Suchbegriffe in C3!B:B

Alles andere sollte sich dann erklären. Dennoch danke für die Bemühungen, dadurch habe ich gemerkt ich muss weg von dem SVERWEIS :)
Schönen Tag noch!
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste