Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1564to1568
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

Sheet suchen

Sheet suchen
22.06.2017 17:33:50
Franz
Hallo Fachleute,
gibt es die Möglichkeit per VBA zu suchen, in welchem Blatt ein bestimmter mit Namen versehener Bereich ist? Z. B. der Bereich "TestBereich" - in welchem Blatt ist der zu finden?
Danke schon mal und Grüße
Franz

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sheet suchen
22.06.2017 17:37:13
Beverly
Hi Franz,
z.B. so:
Sub NamenSuchen()
Dim namName As Name
For Each namName In ActiveWorkbook.Names
If namName.Name = "TestBereich" Then MsgBox namName.RefersTo
Next namName
End Sub


AW: Sheet suchen
22.06.2017 17:45:10
Franz
Hallo Karin,
erstmal danke für die Antwort! Allerdings wird ausgegeben z. B. "=Daten!$a$1:$b$10"
Gibt es auch die Möglichkeit nur "Daten" rauszukriegen? Also nicht die Adresse des Bereichs, sondern nur den Namen des Blattes?
Grüße
Franz
msgbox Range("Testbereich").Parent.name oT
22.06.2017 17:45:51
Matthias
AW: msgbox Range("Testbereich").Parent.name oT
22.06.2017 17:51:05
Franz
Danke Matthias!
Das funktioniert!
Jetzt hätt ich noch die Frage - und das wusste ich schon mal, nur leider find ich's nicht mehr :-( - Wie komme ich vom Namen auf die Tabellennummer? Oder direkt in Deiner obigen Abfrage zur Tabellennummer? Z. B. Ausgabe "Tabelle1" statt "Daten"?
Grüße
Franz
Anzeige
AW: Sheet suchen
22.06.2017 17:49:04
Beverly
Hi Franz,
so:
MsgBox namName.RefersToRange.Parent.Name


AW: Sheet suchen
22.06.2017 17:54:01
Franz
super Karin, danke auch an Dich!
Und auch an Dich die Frage, die ich an Matthias schon gerichtet hab: Tabellennummer statt Name des Blattes (ich weiß schon, hätt ich gleich richtig formulieren sollen :-(()
Grüße
Franz
AW: Sheet suchen
22.06.2017 17:57:24
Beverly
Hi Franz,
ersetze .Name durch .Index


AW: Sheet suchen
22.06.2017 18:07:23
Franz
danke, liebe Karin,
aber da muss es noch was anderes geben. Index gibt die Reihenfolge der Sheets an, so wie sie in Excel aneinandergereiht sind. Das erste Blatt ist "1", das zweite Blatt ist "2", usw.
Was ich aber meine ist der Name "TabelleX", so wie er im Projektexplorer des VBA-Bereichs geschrieben steht. Dort steht bei mir z. B.
Tabelle1(Daten)
Tabelle10(mc_2)
Die zweite Tabelle bei mir heißt also "Tabelle10". Und das ist das was ich suche. Und leider bisher noch nicht gefunden habe, ich hab schon verschiedenes ausprobiert. Gibt's da was?
Fragende Grüße
Franz
Anzeige
AW: Sheet suchen
22.06.2017 18:20:04
Nepumuk
Hallo Franz,
ersetze Name durch CodeName.
Gruß
Nepumuk
AW: Sheet suchen
22.06.2017 18:37:26
Franz
Hallo Nepumuk,
viiielen Dank, das hab ich gesucht! (und glaub vielleicht von Dir auch schonmal bekommen vor langer Zeit...)
Allerdings stoße ich jetzt auf das nächste Problem, das mir vorher nicht klar war. Offensichtlich brauche ich das als "Objekt":
Dim welcheTabelle As Worksheet, fWas as String
fWas = "TestBereich"
und anstatt jetzt zu schreiben:
Set welcheTabelle = Tabelle1
bräuchte ich das variabel, so in der Art:
Set welcheTabelle = Range(fWas).Parent.CodeName. Aber so geht es nicht, Fehlermeldung: Objekt erforderlich!
Kannst Du mir da bitte auch noch weiterhelfen?
Grüße
Franz
Anzeige
AW: Sheet suchen
22.06.2017 18:43:01
Beverly
Hi Franz,
dazu musst du nicht den Codenamen kennen:
Sub NamenSuchen()
Dim namName As Name
Dim wksTab As Worksheet
For Each namName In ActiveWorkbook.Names
If namName.Name = "TestBereich" Then Set wksTab = namName.RefersToRange.Parent
Next namName
MsgBox wksTab.CodeName
End Sub


AW: Sheet suchen
22.06.2017 18:47:02
Nepumuk
Hallo Franz,
aus einem String kannst du kein Objekt erzeugen. Ich hätte das auch nicht anders gemach wie Karin.
Gruß
Nepumuk
AW: Sheet suchen
22.06.2017 18:59:45
Franz
Hallo Nepumuk,
das von Karin funktioniert wunderbar, damit komm ich klar.
Vielen Dank auch Dir!
Grüße
Franz
Anzeige
AW: Sheet suchen
22.06.2017 18:58:28
Franz
Danke Karin,
so isses super, damit komm ich weiter! Danke für Deine Hilfe (auch wenn ich Dich bissl geärgert haben sollte!)
Grüße
Franz
Aber es geht doch auch direkt...
22.06.2017 23:25:44
Jürgen
Hallo Karin, Hallo Franz,
Set welcheTabelle = Range(fWas).Parent
ist doch schon die Lösung.
Gruß, Jürgen
AW: Aber es geht doch auch direkt...
23.06.2017 08:47:31
Franz
Hallo Jürgen,
ja, das ist richtig, funktioniert einwandfrei, vielen Dank!
Grüße
Franz
aber aufpassen ...
22.06.2017 19:01:17
Matthias
Hallo Franz
Du weißt aber das man den gleichen BereichsNamen für mehrere Register definieren kann?
Bsp: 3 Register
In allen Registern ist der gleiche ZellBereich mit dem Namen "TestBereich" definiert.
Das ist durchaus möglich!
Was willst Du denn dann als eindeutigen Rückgabewert?
Gruß Matthias
Anzeige
AW: aber aufpassen ...
22.06.2017 19:14:59
Franz
Hallo Matthias,
danke, ja, das weiß ich. Und darauf ist auch in der ganzen Mappe geachtet worden. Ich hab das vorher überprüft: in Excel - Einfügen - Namen - Definieren würde man das erkennen. Jeden Namen gibt es nur 1 Mal.
Danke und Grüße
Franz
dann ist ja alles gut ;-) owT
22.06.2017 19:18:31
Matthias
AW: Sheet suchen
22.06.2017 18:35:21
Beverly
Hi Franz,
mal nur als Hinweis für die Zukunft: wenn du dir nicht sicher bist, wie der korrekte VBA-Begriff ist, dann beschreibe wenigstens ganz genau, was du meinst - so wie in deinem letzten Beitrag. :-)
Dann geht man dem Problem aus dem Weg, dass andere etwas falsch interpretieren können.


Anzeige
AW: Sheet suchen
22.06.2017 18:38:59
Franz
Hallo Karin,
ja, vollkommen richtig, ist mir eigentlich auch bewusst. Bin leider trotzdem drüber gestolpert - sorry!
Grüße
Franz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige