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

geöffnete Datei mit variablem Namen anwählen

geöffnete Datei mit variablem Namen anwählen
Antoine
Hallo,
Ich sitze auf dem Schlauch.
Ich habe 2 Exceldateien geöffnet. Datei 1 hat einen festen Namen und Datei 2 hat einen variablen Namen, welcher in Zelle H3 von Datei 1 festgehalten ist.
Dieser Name in Zelle H3 setzt sich aus der Formel =B3&TEXT("W3V";)&TEXT(".xls";) zusammen, wobei Zelle B3 das Jahr angibt, z.B. 2010
Datei 1 ist die Ausgangsdatei, in welcher mein Code hinterlegt ist. Wie kann ich nun Sheet 1 der Datei 2 von meiner Datei 1 aus anwählen?
Folgender Code greift einfach nicht
Sub testtest()
Dim datei As String
datei = Range("H3")
Workbooks.Range("H3").Activate
'oder Windows.Application.datei Sheets("1").Select
'oder .....
Sheets("1").Select
End Sub
Gruss Antoine
Wenn in H3 der NAME steht, dann musst...
03.04.2010 19:54:52
Luc:-?
…du den auch verwenden, Antoine,
und nicht irgendwas anderes, zB…
Workbooks(Range("H3")).Activate: ActiveWorkbook.Sheets(1).Select
Gruß + FrOst, Luc :-?
AW: Wenn in H3 der NAME steht, dann musst...
03.04.2010 20:19:45
Antoine
Hi Luc,
Deine Variante hatte ich auch schon probiert. Funktioniert leider auch nicht.
Run-time error 13
Type mismatch
HfG + FrOst
Antoine
AW: geöffnete Datei mit variablem Namen anwählen
03.04.2010 20:31:44
Gerd
Hallo Antoine,
mache mal folgendes:
Öffne deine Datei2, schreibe nachfolgenden Code ins das VBAProjekfenster dieser Datei u. vergleiche
die Ausgabe im Direktfenster mit dem Eintrag in B3 der Datei1, Blattxy.
Sub test()
Debug.Print ThisWorkbook.FullName
End Sub
Dann wäre noch zu klären, ob Datei2 geöffnet ist oder noch nicht, wenn dein Code laufen soll.
Gruß Gerd
Anzeige
AW: geöffnete Datei mit variablem Namen anwählen
03.04.2010 20:58:48
Antoine
Hallo Gerd,
Datei2 wird im Vorfeld schon mit folgendem Code aus der Datei1 geöffnet und es werden Daten aus Datei2 nach Datei1 kopiert.
....
Dim folder As String
folder = Range("H1")
Dim datname As String
datname = Range("H2")
Dim datname1 As String
datname1 = Range("H3")
Dim macro As String
macro = Range("H4")
'ChDir = folder
Workbooks.Open(Filename:=folder & "\" & datname).RunAutoMacros Which:=xlAutoOpen
Das funktioniert auch einwandfrei und irgendwann komme ich mit
ThisWorkbook.Activate
zurück zur Datei1 um hier Daten auszuwerten.
Nun will ich zurück nach Datei2, welche noch immer geöffnet ist und benutze folgenden Code
Workbooks(Range("H2")).Activate: ActiveWorkbook.Sheets(1).Select
' oder Workbooks. datname.Activate: ActiveWorkbook.Sheets(1).Select
Egal wie, ich komme nicht zurück nach Datei 2, ausser mit
Windows("2010 W3V.xls").Activate .... was ich ja nicht will, da das Datum ja fest ist
Mfg
Antoine
Anzeige
AW: geöffnete Datei mit variablem Namen anwählen
03.04.2010 21:03:31
Antoine
Ach ja,
Bei der 2010 handelt es sich eigentlich nicht um ein Datum. Es ist das Jahr welches als Zahl in Zelle B3 eingegeben wird.
AW: geöffnete Datei mit variablem Namen anwählen
03.04.2010 21:06:43
Gerd
Ach so,
probiere es etwas abgewandelt, Antoine.
Workbooks(Range("H2")).Activate ----> Workbooks(Sheets("Tabelle1").Range("H2").Value).Activate
' oder Workbooks. datname ----> Workbooks(datname).Activate
Gruß Gerd
AW: geöffnete Datei mit variablem Namen anwählen
03.04.2010 21:44:26
Antoine
Sorry Gerd,
So abgewandelt klappt es auch nicht.
Jetzt bekomme ich für beide Beispiele:
Run-time Error 9
Subscript out of range
AW: geöffnete Datei mit variablem Namen anwählen
03.04.2010 21:57:41
Gerd
Egal wie, ich komme nicht zurück nach Datei 2, ausser mit
Windows("2010 W3V.xls").Activate .... was ich ja nicht will, da das Datum ja fest ist

Hallo Antoine,
was steht nun konkret in H2 in welchem Blatt von Datei1?
Gruß Gerd
Anzeige
AW: geöffnete Datei mit variablem Namen anwählen
03.04.2010 22:44:08
Antoine
Hallo Gerd,
In H2 steht:
2010 W3V.xls
in Blatt Header, doch ich verstehe nicht was das Blatt von Datei1 damit zu tun haben könnte.
Ich möchte doch auf Datei2 Blatt 1 kommen.
Die Frage ist noch offen
03.04.2010 23:33:29
Antoine
...
Warum ist das jetzt H2 und nicht mehr H3...
04.04.2010 01:47:10
Luc:-?
…und wie kommt das Leerzeichen in den Dateinamen, Antoine,
denn deine Fml in H3 oder H2 oder wo auch immer fügt da kein Leerzeichen ein?! Außerdem bist du bzw seid ihr wohl keine „alten EDV-(Oster-)Hasen“, denn die würden es tunlichst vermeiden, mit Leerzeichen in Namen zu arbeiten, denn das verursacht ggf nur unnötige Scherereien wie man ja auch hier wieder mal sehen kann… ;->
Gruß Luc :-?
Anzeige
AW: Warum ist das jetzt H2 und nicht mehr H3...
04.04.2010 03:52:16
Antoine
Hallo Luc,
Die Formel ist in H2 und auch wenn ich das Leerzeichen heraus nehme funktioniert es nicht !
Datei2 wird im Vorfeld schon mit folgendem Code aus der Datei1 geöffnet und es werden Daten aus Datei2 nach Datei1 kopiert.
Dim folder As String
folder = Range("H1")
Dim datname As String
datname = Range("H2")
Dim datname1 As String
datname1 = Range("H3")
Dim macro As String
macro = Range("H4")
'ChDir = folder
Workbooks.Open(Filename:=folder & "\" & datname).RunAutoMacros Which:=xlAutoOpen
Das funktioniert auch einwandfrei und irgendwann komme ich mit ThisWorkbook.Activate zurück zur Datei1 um hier Daten auszuwerten. Nun will ich zurück nach Datei2, welche noch immer geöffnet ist und brauche dafür einen Code welcher funktioniert !
Die Strings folder, datname und macro funktionieren, ansonsten bekäme der alte Osterhase mit 56 Lenzen die Datei2 ja nicht aus Datei1 geöffnet !
Mit Windows("2010 W3V.xls").Activate (mit Leerzeichen) und mit Windows("2010W3V.xls").Activate (ohne Leerzeichen) komme ich in Datei2
(der Name von Datei2 wurde selbstverständlich vorher angepasst !!!)
Da das Jahr eine Variable ist, kann ich nicht mit Windows("2010W3V.xls").Activate arbeiten. Die 2010 ist eine Zahl (Zelle ist nicht als Datum formatiert) welche in B3 steht.
Datname in Zelle H2 setzt sich aus der Formel =B3&TEXT("W3V";)&TEXT(".xls";) zusammen.
Gruss
Antoine
Anzeige
mit einer Variable vom Typ Workbook
04.04.2010 05:43:46
Tino
Hallo,
weise beim öffnen der Datei diese einer Variable zu.
'...
Dim oWB2 As Workbook
Set oWB2 = Workbooks.Open(Filename:=folder & "\" & datname)
oWB2.RunAutoMacros xlAutoOpen
'...
Jetzt kannst Du mit dieser Variablen die Datei wieder aktivieren
oWB2.Activate

Gruß Tino
TINO; super Ostergeschenk ....
04.04.2010 09:45:08
Antoine
.... das ist es
Vieieieieieieieieieieieieielen Dank
Antoine

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige