Excel-VBA: Werte in ungeöffnete Mappe schreiben

hallo,

wie kann ich in Excel über VBA daten in eine ungeöffnete excel-datei („Arbeitsmappe“) schreiben? wie kann ich andere excel-dateien adressieren?

vielen dank
JayKay

Hallo,

z.B. so:

Sub SchreibeInEineExcelDatei()
 Application.ScreenUpdating = False
 Workbooks.Open Filename:="C:\MeinPfad\Hierwillichreinschreiben.xls"
 Sheets("ZielTabellenblatt").Select
 Cells(1, 1).Formula = "TestDaten"
 ActiveWorkbook.Save
 ActiveWindow.Close
 Application.ScreenUpdating = True
End Sub

Gruß, Bernd

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Kleine Überarbeitung
Salute Bernd und JayKay,

Sub SchreibeInEineExcelDatei()
Application.ScreenUpdating = False
 Workbooks.Open
Filename = "C:\MeinPfad\Hierwillichreinschreiben.xls"
 Worksheets("ZielTabellenblatt").Cells(1, 1) = "TestDaten"
 ActiveWorkbook.Save
 ActiveWindow.Close
Application.ScreenUpdating = True
End Sub

So is bessa! Die Variablenzuweisung mit := ist wohl eher was für Pascal, die Selectmethode zu vermeiden ist sicher kein Fehler, .Formula ist auch nicht unbedingt nötig :o)

Güßken
-R o b.

Sub SchreibeInEineExcelDatei()
Application.ScreenUpdating = False
Workbooks.Open
Filename = „C:\MeinPfad\Hierwillichreinschreiben.xls“
Worksheets(„ZielTabellenblatt“).Cells(1, 1) = „TestDaten“
ActiveWorkbook.Save
ActiveWindow.Close
Application.ScreenUpdating = True
End Sub

So is bessa! Die Variablenzuweisung mit := ist wohl eher was
für Pascal, die Selectmethode zu vermeiden ist sicher kein
Fehler, .Formula ist auch nicht unbedingt nötig :o)

Hi Rob,
alles korrekt, aber wenn schon denn schon, anstatt

ActiveWorkbook.Save
ActiveWindow.Close

Activeworkbook.close savechanges=True

wobei bei längerem Code Activeworkbook immer so eine Sache ist, die letztlich den Code schwerer lesbar macht, weil ich muß dann ggfs. viele Codeteilen zurückschauen um herauszufinden welche Mappe denn nun grad aktiv ist und sowas hält immer auf.

Da bietet es sich sehr an,
Workbooks(„Name.xls“).close savechanges=True
zu benutzen.

Dadurch „liest“ man schneller und klarer und man ist dadurch in Villaarriba schon beim nächsten Code während in Villabajo immer noch gegrübelt wird, welche Mappe denn nun aktiv ist :smile:

Un Chiste *gg*

Gruß
Reinhard

Gruß
Reinhard

Güßken
-R o b.

1 „Gefällt mir“

Salute Reinhard,

alles korrekt, aber wenn schon denn schon, anstatt

ActiveWorkbook.Save
ActiveWindow.Close

Activeworkbook.close savechanges=True

wobei bei längerem Code Activeworkbook immer so eine Sache
ist, die letztlich den Code schwerer lesbar macht, weil ich
muß dann ggfs. viele Codeteilen zurückschauen um
herauszufinden welche Mappe denn nun grad aktiv ist und sowas
hält immer auf.

Da bietet es sich sehr an,
Workbooks(„Name.xls“).close savechanges=True
zu benutzen.

Dadurch „liest“ man schneller und klarer und man ist dadurch
in Villaarriba schon beim nächsten Code während in Villabajo
immer noch gegrübelt wird, welche Mappe denn nun aktiv ist :smile:

Der iss richtig! Den Weg kannte ich noch nicht — sehr schön. Werd ich mir merken :o)

Schöhnz Uiehgännt
-R o b.