Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Mit VBA in eine andere Datei schreiben und save

Forumthread: Mit VBA in eine andere Datei schreiben und save

Mit VBA in eine andere Datei schreiben und save
15.01.2004 12:32:39
Jakob
Hallo,
ich bräuchte bitte die VBA-Syntax um den Wert einer TextBox (TextBox1.Text)
in eine andere, bereits geöffnete Datei in eine bestimmte Zelle zu legen und
dann zu speichern, ohne aus der aktiven Datei zu wechseln. Diese zweite Datei ist eine *.xls und hat immer den gleichen Namen.
Die aktuelle Datei, aus der diese Prozedur erfolgt, wird aus einer Vorlage (*.xlt) erstellt und hat jedesmal einen neuen Namen. Deshalb funktioniert auch das hin- und herwechseln mit der Prozedur >>Windows("name.xls").Activate<< nicht, weil ich, durch den immer anderen Namen der Ausgangsdatei, nicht mehr zur dieser Datei zurückkomme.
Danke
Gruß Jakob
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mit VBA in eine andere Datei schreiben und save
15.01.2004 12:39:19
beata

Sub test()
dim x as string
x = textbox1.text ' entprechend anpassen
application.documents("datei.xls").range("A1").value = x
End Sub

Das Dokument muss nicht aktiviert werden, daher erübrigt sich das Problem mit dem activate auf die Ausgangsdatei.
Gruss
Anzeige
AW: Mit VBA in eine andere Datei schreiben und save
15.01.2004 14:41:31
Jakob
Hallo beata,
Vielen Dank, habe mich schon gefreut wegen der schnellen Antwort.
Leider funktioniert es nicht!?
So habe ich es geschrieben. Ausgeführt wird es mit dem Klick auf den OK-Button der UserForm das auch die TextBox enthält.
Zur Info: Die Zeile "Range("B10") = Format....." ist für den Eintrag der Rechnungsnummer mit Jahr und Monat in der aktellen Mappe (z.B. Rechnung1.xls).
Die Mappe (Rech-Startmenue.xls) ist bei dieser Anwendung immer mit geöffnet und in der soll die lfd. Nummer, die ich über die TextBox eingebe, zurückgespeichert werden, damit ich beim nächsten Öffnen weiß, was die letzte Nummer war.

Private Sub CommandButton1_Click()
Dim x As String
x = TextBox1.Text
Application.documents("Rech-Startmenue.xls").Range("A1").Value = x
Range("B10") = Format(Date, "yyyy") & Format(Date, "mm") & "-" & TextBox1.Text
End
End Sub

Bei der Zeile "Application.doc...." bleibt das Makro hängen.
(Anmerk.: Soll diese "Applications-Anweisung die Datei auch speichern?)
Danke
Gruß Jakob
Anzeige
AW: Mit VBA in eine andere Datei schreiben und save
16.01.2004 08:45:11
Jakob
Hallo,
zur allgemeinen Info, das Problem hat sich erledigt, ich habe die Lösung gefunden.
Das VBA lautet wie folgt:

Private Sub Bestätigen_Click()
Dim x As String
x = TextBox1.Text
Workbooks("Rech-Startmenue.xls").Sheets("Tabelle1").Range("C10").Value = x
Workbooks("Rech-Startmenue.xls").Save
Range("B10") = Format(Date, "yyyy") & Format(Date, "mm") & "-" & TextBox1.Text
End
Danke
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Mit VBA Daten in eine andere Datei schreiben und speichern


Schritt-für-Schritt-Anleitung

Um mit Excel VBA Daten in eine andere, bereits geöffnete Datei zu schreiben, folge diesen Schritten:

  1. Öffne die Excel-Datei, in der du die Daten eingeben möchtest (z.B. Rech-Startmenue.xls).

  2. Erstelle eine UserForm mit einer TextBox (z.B. TextBox1) und einem CommandButton (z.B. CommandButton1).

  3. Füge den folgenden VBA-Code in das Code-Fenster der UserForm ein:

    Private Sub CommandButton1_Click()
       Dim x As String
       x = TextBox1.Text
       Workbooks("Rech-Startmenue.xls").Sheets("Tabelle1").Range("C10").Value = x
       Workbooks("Rech-Startmenue.xls").Save
       Range("B10") = Format(Date, "yyyy") & Format(Date, "mm") & "-" & TextBox1.Text
    End Sub
  4. Starte das Makro, indem du den CommandButton klickst. Dies wird den Wert aus der TextBox in die Zelle C10 der Datei Rech-Startmenue.xls schreiben und die Datei speichern.


Häufige Fehler und Lösungen

  • Fehler: Makro bleibt bei Application.documents("filename.xls").Range("A1").Value = x hängen.

    • Lösung: Stelle sicher, dass die Datei Rech-Startmenue.xls geöffnet ist und der Name korrekt eingegeben wurde. Nutze Workbooks("Rech-Startmenue.xls") um eine direkte Referenz zur Arbeitsmappe herzustellen.
  • Fehler: Der Wert wird nicht gespeichert.

    • Lösung: Überprüfe, ob du Workbooks("Rech-Startmenue.xls").Save hinzugefügt hast, um die Datei nach dem Schreiben der Daten zu speichern.

Alternative Methoden

Neben der Verwendung von VBA, um Daten in eine andere Datei zu schreiben, kannst du die folgenden Methoden ausprobieren:

  • Excel-Formeln: Du kannst die Daten auch über Formeln in eine andere Datei verlinken, indem du die Arbeitsmappe öffnest und die Zellen entsprechend verknüpfst.

  • Power Query: Mit Power Query kannst du Daten aus verschiedenen Quellen importieren und in einer Excel-Datei speichern, was besonders nützlich für umfangreiche Datenanalysen ist.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du mit VBA eine Rechnungsnummer in eine andere Datei schreiben kannst:

Private Sub Bestätigen_Click()
    Dim x As String
    x = TextBox1.Text
    Workbooks("Rech-Startmenue.xls").Sheets("Tabelle1").Range("C10").Value = x
    Workbooks("Rech-Startmenue.xls").Save
    Range("B10") = Format(Date, "yyyy") & Format(Date, "mm") & "-" & TextBox1.Text
End Sub

In diesem Beispiel wird die Rechnungsnummer, die du in die TextBox eingibst, in die Zelle C10 geschrieben und die Datei wird direkt gespeichert.


Tipps für Profis

  • Verwende die With-Anweisung, um deine VBA-Codes sauberer und effizienter zu gestalten. Beispiel:

    With Workbooks("Rech-Startmenue.xls").Sheets("Tabelle1")
       .Range("C10").Value = x
       .Parent.Save
    End With
  • Achte darauf, dass deine Datei immer den gleichen Namen hat, wenn du mehrere Dateien verwaltest. Dies erleichtert das vba datei schreiben.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass die Datei gespeichert wird? Stelle sicher, dass du die .Save Methode nach dem Schreiben der Daten verwendest, um die Änderungen zu sichern.

2. Was passiert, wenn die Datei nicht geöffnet ist? Wenn die Datei nicht geöffnet ist, wird ein Fehler angezeigt. Stelle sicher, dass die Datei vor dem Ausführen des Makros geöffnet ist.

3. Kann ich diese Methode auch für andere Dateiformate verwenden? Ja, du kannst ähnliche VBA-Methoden verwenden, um Daten in andere Formate wie .xlsx oder .xlsm zu schreiben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige