Zum Inhalt springen

Automatisches Importieren einer Excel-Tabelle in Access


Sonic83

Empfohlene Beiträge

Hallo Leute!

Habe folgendes Problem. Ich möchte ein Tabellenblatt einer Excel-Tabelle automatisch in Access importieren.

DoCmd.TransferSpreadsheet acImport, cSpreadsheetTypeExcel3, strTabelleHilfe, "C:\test.xls", True

Kurze Erklärung zu der Codezeile:

acImport - Konstante für den Import

cSpreadsheetTypeExcel3 - Dateityp

strTabelleHilfe - Name der Tabelle die erstellt werden soll

C:\test.xls - Pfad der Excel-Datei

TRUE - Parameter damit die erste Zeile des Tabellenblattes als Spaltenüberschrift verwendet wird

Jetzt gibt es nur ein kleines Problem. Wenn ich diesen Befehl ausführe, dann importiert er mir immer das erste Tabellenblatt aus der Excel-Datei. Ich möchte aber ein bestimmtes Tabellenblatt dieser Datei importieren!

Kann mir von euch jemand vielleicht weiterhelfen???

Gruß Sonic83

<FONT COLOR="#a62a2a" SIZE="1">[ 11. Oktober 2001 12:56: Beitrag 1 mal editiert, zuletzt von Sonic83 ]</font>

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich glaub du hast mich nicht ganz verstanden. Es ist mir schon klar, dass ich so die Tabelle in Excel-aktivieren kann. Ich brauch aber was anderes. Den Befehl den du mir geschrieben hast, muss man ja in Excel ausführen und ich brauch nen Befehl für VBA in Access. Denn wenn ich das so richtig verstanden habe muss ich die Excel-Tabelle bei deiner Funktion öffnen. Das geht aber leider nicht, da beim automatischen importieren der Tabelle die Datei leider geschlossen sein muss!

Wenn ich dich jetzt falsch verstanden habe, dann schreib mir bitte nochmal!

P.S.: Meine Programmzeile sah so aus und die hat nicht funktioniert. Fehlermeldung Sub oder Funktion nicht definiert...

DoCmd.TransferSpreadsheet acImport, cSpreadsheetTypeExcel3, strTabelleHilfe, "C:\test.xls", True, Sheets(strTabellenname).Select

oder

DoCmd.TransferSpreadsheet acImport, cSpreadsheetTypeExcel3, strTabelleHilfe, "C:\test.xls", True, "Sheets(strTabellenname).Select"

...

ging leider beides nicht...

Link zu diesem Kommentar
Auf anderen Seiten teilen

dein problem ist anscheinend folgendes:

access nimmt beim import nur das aktive worksheet.

um das aktive worksheet zu aendern, musst du

die excel bibliothek ueber extras-> verweise in vba einbinden und dann kannst du dieses code fragment als ansatz nehmen:

Sub chWorksheet()

Dim xlsAppl As New Excel.Application 'neue Instanz von Excel unsichtbar oeffnen


With xlsAppl.Workbooks.Open(FileName:="WorkbookName") 'oeffne die entsprechende exceldatei

 .Sheets("WorksheetName").Select 'auswahl der tabelle

 .Save 'speichern der aenderungen

End With


xlsAppl.Quit 'excel schliessen


End Sub

  

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo!

Ich habe es jetzt versucht so wie du mir es gesagt hast. Leider macht er hier immernoch das gleiche. Er importiert immer nur das erste Tabellenblatt. Hier ist mein Quellcode für die Funktion. Vielleicht entdeckst du noch einen Fehler und kannst mir nochmal helfen!

Sonic83

 Function Tabelle_importieren()


    Dim xlsAppl As New Excel.Application


    strTabelleHilfe = "09_2001"


    xlsAppl.Workbooks.Open "C:\Test.xls"

    xlsAppl.Sheets(strTabelleHilfe).Select

    xlsAppl.Save


    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel3, strTabelleHilfe, "C:\Test.xls", True

    xlsAppl.Workbooks.Close


End Function 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hier noch ein kleiner Tip!

Wenn du im VBA bist, öffne die Tabelle im Excel und Ändere dann in das Tabellenblatt, dass du einbinden oder exportieren möchtest. Markiere alle Daten und kopiere sie in eine neue Excel-Applikation. Damit steht sie in der ersten Tabelle und du kannst die Daten ohne Probleme exportieren. Anschließend löschst du die Hilfsdatei wieder.

Jetzt sollte es auf jeden Fall funktionieren. :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von Sonic83:

<STRONG>Hallo!

Ich habe es jetzt versucht so wie du mir es gesagt hast. Leider macht er hier immernoch das gleiche. Er importiert immer nur das erste Tabellenblatt. Hier ist mein Quellcode für die Funktion. Vielleicht entdeckst du noch einen Fehler und kannst mir nochmal helfen!

</STRONG>

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...