Hallo zusammen,
ich habe eigentlich eine ganz einfache Frage:
Wenn ich einen Tabellenblattnamen bspw. in Zelle B6 stehen habe, kann ich ganz einfach indirekt zum Reiter springen mit folgender Zeile:
Code:
Sheets(Range("B6").Value).Select
Wieso kann ich nicht einen Schritt weitergehen und eine Zelle auswählen bspw. so:
Code:
Sheets(Range("B6").Value).Range("A1").Select
Das war jetzt ganz allgemein gefragt, letztendlich will ich mir nur einen Wert holen, benötige aber den Schritt mit indirektem Tabellenblattnamen aus einer Zelle.
So was hätte ich gerne:
Code:
x = Sheets(Range("B6").Value).Range("A1").Value
Wieso? Was hat Excel für ein Problem? :22:
Danke für jeden Tipp!
Matti
Hallo Matti
das sind mehrere Fragen, die gehen in die Excel Grundkenntnisse. Ich hopffe ich kann es dir richtig erklaeren.
Zitat:Sheets(Range("B6").Value).Select
Sheets(Range("B6").Value).Range("A1").Select
x = Sheets(Range("B6").Value).Range("A1").Value
Der 1. Teil funktioniert, vorausgesetzt in der Zelle B6 steht ein gültiger Tabellen Name. Sonst kommt Fehlermeldung!!
Der 3. Teil müsste auch funktionieren, vorausgesetzt s. oben gültiger Tabellen Name!!
Der 2. Teil wird so nicht funktionieren, weil du zum Zeitpunkt des Aufrufs wahrscheinlich in einer anderen Tanelle bist.
Wenn du zwei Zeilen daraus machst klappt es. Zum eine Zelle mit Select anspringen braucht Excel ein gültiges Objekt.
Excel streikt aber zu recht, wenn du in einer anderen Tabelle bist, und willst in einer -fremden Tabelle- Zelle A1 anspringen!
Sheets(Range("B6").Value).Select
Range("A1").Select
Ein blöödes Beispiel: wenn du mit deinem Auto an der Ampel stehst, kannst du auch nicht beim Nebenmann aufs Gas treten.
Wie soll das gehen??? Wenn du das Auto wechselst, kein Thema! Oder??? Kapiert???
mfg Gast 123
Nachtrag
eine sehr wichtige Funktion von Excel, die Anfaenger leider nicht kennen, ist die Tatsache das Select zu 99% überflüssig ist.
Excel kann Daten aus anderen Tabellen (und Mappen) auslesen, ohne das man die Tabelle dafür Selektieren muss. siehe dein 3. Code!
Du kannst den Nachbar Autofahrer ja auch nach dem Weg fragen, -ohne dafür- aussteigen zu müssen!!
mfg Gast 123
Hi,
(11.03.2017, 21:28)Gast 123 schrieb: [ -> ]Der 2. Teil wird so nicht funktionieren, weil du zum Zeitpunkt des Aufrufs wahrscheinlich in einer anderen Tanelle bist.
Wenn du zwei Zeilen daraus machst klappt es. Zum eine Zelle mit Select anspringen braucht Excel ein gültiges Objekt.
Excel streikt aber zu recht, wenn du in einer anderen Tabelle bist, und willst in einer -fremden Tabelle- Zelle A1 anspringen!
Code:
Sheets(Range("B6").Value).Select
Range("A1").Select
das könnte man analog zu
folgendem Beitrag auch so probieren, vielleicht klappt es:
Code:
Application.Goto Worksheets(Range("B6").Value).Range("A1")
'oder
Application.Goto Range(" &Sheets(Range("B6").Value) & "!A1")