HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Forumbeitrag
Excel-Version des Fragestellers:
365 Business
Erfahrungslevel des Fragestellers:
Excel gut - VBA bescheiden
Case
23.10.2025 10:52:58
Du könntest dir auch...
Moin Dieter, :-)

... die "GetObject-Funktion" anschauen: ;-)
https://learn.microsoft.com/de-de/office/vba/language/reference/user-interface-help/getobject-function

Also so der Spur nach: ;-)

Dim xlApp As Object

Dim xlMappe As Object
Dim xlBlatt As Object
'Set xlApp = CreateObject("Excel.Application")
Set xlMappe = GetObject("C:\Temp\975v.xlsx")
Set xlBlatt = xlMappe.Sheets("Tabelle1")
With xlBlatt
.Range("A2").Value = "NurEinTest"
'Daten die in die Excel geschrieben werden sollen
End With
xlMappe.Windows(1).Visible = True
xlMappe.Close SaveChanges:=True
Set xlBlatt = Nothing
Set xlMappe = Nothing
'Set xlApp = Nothing

"GetObject" öffnet die Datei, oder nimmt die schon geöffnete. ;-)

Das kann man noch mit diversen Fehlerbehandlungen ausbauen - wenn man will. ;-)

"With xlMappe.Sheets("Tabelle1")" ist doppelt gemoppelt. Da reicht "With xlBlatt". ;-)

Da "GetObject" ausgeblendet öffnet und du speicherst, musst du vorher wieder einblenden, sonst ist die Datei beim nächsten öffnen nicht sichtbar. ;-)

Ahh - und da wir gerade dabei sind - "Ich mag keine Rote Beete!". ;-)

Servus
Case
Als Antwort auf diesen Beitrag
Dieter
22.10.2025 19:40:18
Prüfen ob Datei offen
Hi alle,

ich fülle mit einem Makro eine geschlossene Excel Datei mit Informationen aus einer Word Datei. Das funktioniert solang die Excel Datei nicht offen ist. Wenn aber die betroffene Excel Datei offen ist und im Word Dokument das Makro ausgeführt wird werden keine Daten in die Excel kopiert bzw. es hängt sich auf ohne Fehlermeldung.

Müsste ich zuerst prüfen ob die Datei offen ist? Wenn ja wie soll ich dann weiter verfahren das die bereits offene befüllt wird?



Dim xlApp As Object
Dim xlMappe As Object
Dim xlBlatt As Object

Set xlApp = CreateObject("Excel.Application")
Set xlMappe = xlApp.Workbooks.Open("Dateipfad")
Set xlBlatt = xlMappe.Sheets("Tabelle1")

With xlMappe.Sheets("Tabelle1")
'Daten die in die Excel geschrieben werden sollen
End With

xlMappe.Close SaveChanges:=True
Set xlBlatt = Nothing
Set xlMappe = Nothing
xlApp.Application.Quit
Set xlApp = Nothing
Folgenachrichten
Antwort auf Beitrag erstellen

Beispieldatei hochladen