Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Automatisches Importieren einer Excel-Tabelle in Access

Empfohlene Antworten

Veröffentlicht

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>

Die Tabelle kannst du mit dem Befehl:

Sheets("Tabelle2").Select auswählen.

Wenn du diesen Tabellennamen als Variable angibst kannst du frei wählen. (einfacher vb-code)

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...

und wie kann ich das dann deiner Meinung nach machen??? Könntest du mir vielleicht den Teil Quellcode mal posten, wie du das machen würdest?? Würde mir sehr helfen!

Danke

Sonic83

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

  

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 

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

<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>

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.