# Daten in Excel speichern



## Lakallia (27. August 2009)

Hallo,
kann mir bitte jemand helfen? ich bin grad nur am verzweifeln...
also ich habe zum einen dasProblem, dass er Excel nicht schließt, nachdem ich Daten eingefügt habe. Ich habe jetzt schon alles versucht, aber anscheinend öffnet er immer ne schreibgeschützte Kopie bei .open.
Was kann ich tun?
So "beende" ich die Anwendung:

ExcelFile.Close(SAVECHANGES:=True)
        Excel1.Quit()
        Excel1 = Nothing
        ExcelFile = Nothing
        Sheet = Nothing

was ist daran falsch?

Dann hab ich noch das Problem, dass ich nicht weiß, wie ich mich innerhalb der exceltabelle bewegen kann. Heißt ich möchte über ein makro in eine bestimmte Zelle springen und dann eine Zeile/2 Zeilen weiter rechts meine Daten aus VB einfügen.
Kann mir jemand da weiterhelfen? Das wäre super...


----------



## DrSoong (27. August 2009)

Mal die Grundsatzfragen:

Welche Applikation (VB, VBA unter Word, VBA unter Excel, ...) benutzt du? Dein Code ruft ein Excel-Objekt auf (bzw. zerstört am Ende das Objekt), hast du da noch mehr Code (Erzeugene des Objekts, Laden der Datei, ...).


Der Doc!


----------



## Lakallia (27. August 2009)

hallo,
ich habe zunächst erstmal ein VB Code, mit dem ich Daten aus Textfeldern und so lese. Die Daten will ich in Excel speichern:

        Excel1 = CreateObject("Excel.Application")
        ExcelFile = Excel1.Workbooks.Open("c:\Temp\Test.xls", ReadOnly:=False)
        Sheet = ExcelFile.Worksheets(1)

...dann füge ich Daten ein (klappt auch noch nich ganz =(...)
Dann will ich die datei eig nur speichern, aber mit save() t das nich...
Ich krieg immer die Abfrage, ob ich die Änderungen speichern will- es soll aber automatisch gespeichert werden.
Außerdem ist die Datei schreibgeschützt...

       ExcelFile.Close(SAVECHANGES:=True)
       Excel1.Quit()
       Excel1 = Nothing
       ExcelFile = Nothing
       Sheet = Nothing

Einen Verweis auf  Microsoft Excel 11.0 Object Library habe ich auch eingefügt...
Tut mir leid, ich hab erst vor 2 Tagen mit VB angefangen...

Lakallia


----------



## DrSoong (27. August 2009)

Wieso baust du nicht einfach ein

```
ExcelFile.Save
```
ein, da speichert Excel die Datei. Es kann sein, dass VB das *SaveChanges* bei der _Close_-Methode nicht richtig übergibt, wenn du einfach vorher normal speicherst, dürfte es kein Problem geben. Man sollte das sich sowieso angewöhnen, so fallen Folgefehler weg.


Der Doc!


----------



## Lakallia (28. August 2009)

hey,
das habe ich auch schon ausprobiert, aber das geht nicht.
Ich hab aber überlegt, das anders zu machen:

Ich würde gerne in Excel ein Makro aufrufen, das die Werte einer csv-Datei ausliest, diese in Excel in entsprechende Felder speichert u sie anschließend in der csv-Datei wieder löscht. Ich hab leider keine Ahnung, wie man die Strings ausliest. Ideen u Vorschläge gerne willkommen =)


----------



## ronaldh (31. August 2009)

Du musst die Datei zum Lesen öffnen:


```
Dim ReadText as String
   Open "Test.csv" For Input As #1
   Line Input #1, ReadText
```

Mit der Split-Funktion kannst Du die Variable dann in ihre Bestandteile zerlegen.


----------

