Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Daten aus befülltem Formular in ein neues Excel-Sheet übertragen

Begonnen von JB, Oktober 24, 2016, 16:14:40

⏪ vorheriges - nächstes ⏩

JB

Hi,

ich habe eine Datenbank, die man komplett über Formulare befüllt und die im Hintergrund mit VBA programmiert wurde. Dabei habe ich unter anderem ein Zusammefassungsform, wo alle wichtigen Informationen über einen Kunden aufgeführt sind (rund 40 Felder).

Nun ist die Frage, wie ich den Inhalt dieses Form per Klick auf einen Buttom (in dem Form) in Excel exportieren kann, sodass ich es auch den Kollegen zugänglich machen kann, die nicht über Access verfügen. Also vll einmal Schritt für Schritt:

1) Es muss per Buttom Click eine vorgefertigte Excel Datei geöffnet werden, die aber nicht überschrieben werden soll. Die Vorlage möchte ich vorgestalten und irgendwo auf meiner Festplatte ablegen.
2) Nun möchte ich die Inhalte aus den Textboxen in die Felder in der Excel Datei schreiben, dh irgendwie "A1 = Me.Name".

Weiß jemand, wie ich dahin komme?

Vielen Dank!

Jelto


DF6GL

Hallo,


siehe mal hier:  http://dbwiki.net/images/3/3f/AccSampleAccessToExcel.zip
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

JB

Hi,

kann die Datei leider nicht öffnen. Habe das jetzt wie folgt gemacht:

Private Sub Excel_Export_Click()

Dim xlAnw As Excel.Application
Dim xlBuch As Excel.Workbook
Dim xlArbBlatt As Excel.Worksheet

Set xlAnw = CreateObject("Excel.Application")
Set xlBuch = xlAnw.Workbooks.Open("C:\Vorlage.xls") 'Die Excel-Datei öffnen
Set xlArbBlatt = xlBuch.Worksheets(1) 'erstes Sheet

'General information
xlArbBlatt.Range("B3").Value = Me.Name
xlArbBlatt.Range("B4").Value = Me.Year

xlBuch.Save
xlAnw.Quit

Set xlBuch = Nothing
Set xlArbBlatt = Nothing
Set xlAnw = Nothing

End Sub


Dabei wird allerdings die bestehende Vorlage überschrieben.

Kann ich es so ändern, dass
1) Die Orginaldatei unverändert bleibt.
2) Sich das neue Dokument in Excel sofort öffnet und ich es dann abspeichern kann. Idealerweise wird der Speicherort schon vorausgewählt.

Danke.

DF6GL

Hallo,


1) Schau mal in die Hilfe zu SaveAS
2) Die Eigenschaft "Visible" des  Excel-Objekts muss nur auf "ja"  gesetzt werden.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

MaggieMay

Hallo,

wenn du eine Excel-Datei im Sinne einer Vorlage verwenden willst, so solltest du
1. die Datei in eine *.xlt Datei umbenennen und
2. eine neue Datei auf Basis dieser Vorlage entsprechend öffnen

Dazu setzt du die ADD-Methode des Workbooks-Objekts ein.
Freundliche Grüße
MaggieMay

JB

Danke DF6GL und MaggieMay,

@MaggieMay
Ok, und wie funktioniert das genau?

Also Umbenennen schaffe ich denke ich, allerdings weiß ich dann nicht, was ich außerdem noch verändern muss.

Danke

MaggieMay

Du solltest die xlt-Datei besser via "Speichern unter" aus Excel heraus erzeugen und nicht durch Umbenennen, da war ich wohl nicht ganz bei der Sache. Das halte ich für sicherer, ausprobiert habe ich das jedoch nicht.

Zweitens könntest du dich mal in der Excel-Hilfe umsehen und dir einen Überblick über die hier zu verwendenden Methoden machen. Dazu sollte das Stichwort "Add" eigentlich schon genügen, um entsprechende Erläuterungen und auch Beispiele in der Hilfe zu finden.

Der fertige Code könnte dann so aussehen:
Private Sub Excel_Export_Click()
    Dim xlAnw As Excel.Application
    Dim xlBuch As Excel.Workbook
    Dim xlArbBlatt As Excel.Worksheet

    Set xlAnw = CreateObject("Excel.Application")
    Set xlBuch = xlAnw.Workbooks.Add("C:\Vorlage.xlt") 'Eine neue Excel-Datei auf Basis einer Vorlage öffnen
    Set xlArbBlatt = xlBuch.Worksheets(1) 'erstes Sheet

    'General information
    xlArbBlatt.Range("B3").Value = Me.Name
    xlArbBlatt.Range("B4").Value = Me.Year

    xlBuch.SaveAs "C:\datei_neu.xls"
    xlAnw.Quit

    Set xlBuch = Nothing
    Set xlArbBlatt = Nothing
    Set xlAnw = Nothing
End Sub
Freundliche Grüße
MaggieMay