Sonic83 Geschrieben 10. Oktober 2001 Teilen Geschrieben 10. Oktober 2001 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> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
EGTEB Geschrieben 11. Oktober 2001 Teilen Geschrieben 11. Oktober 2001 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) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sonic83 Geschrieben 11. Oktober 2001 Autor Teilen Geschrieben 11. Oktober 2001 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... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hades Geschrieben 11. Oktober 2001 Teilen Geschrieben 11. Oktober 2001 @sonic83: du kannst mit vb, vba und vbs excel und alle anderen applicationen, die dcom/com unterstützen, komplett fernsteuern. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sonic83 Geschrieben 12. Oktober 2001 Autor Teilen Geschrieben 12. Oktober 2001 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hades Geschrieben 12. Oktober 2001 Teilen Geschrieben 12. Oktober 2001 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sonic83 Geschrieben 15. Oktober 2001 Autor Teilen Geschrieben 15. Oktober 2001 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
EGTEB Geschrieben 15. Oktober 2001 Teilen Geschrieben 15. Oktober 2001 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hades Geschrieben 19. Oktober 2001 Teilen Geschrieben 19. Oktober 2001 <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> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.