Einstellbereich richtig in der DoCmd.TransferArbeitsblatt (VBA-Access in Excel)?
For Each Page In Worksheets
PageName = Split(Page.Name, " ")
If UBound(PageName) > 0 Then
Worksheets(Page.Name).Activate
lRow = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
LCol = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
Fullrange = Worksheets(Page.Name).Range(Worksheets(Page.Name).Cells(1, 1), _
Worksheets(Page.Name).Cells(lRow, LCol))
accappl.DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, _
Page.Name, strpathxls, True, Fullrange
End If
Next
Ich geschrieben habe diesen code in VBA-Excel für die Sicherung von Daten in access aus excel. Der code ist nicht wie die Art und Weise, das ich geschrieben habe das Angebot in meine for each-Schleifen. Ich habe auch versucht die 2. for each-Schleife, aber das sind nur die gesicherten Haupt-Seite immer wieder( mit dem richtigen Tabellennamen obwohl).
Ich denke die 1. Möglichkeit ist in der Nähe, aber ich verstehe nicht, was ist falsch mit FullRange-line-die Art-Bereich.
EDIT: Die Fehlermeldung Objekt variable oder with-block variable nicht festgelegt auf die FullRange-line -
Update 6-18, Es scheint, dass die fullrange sollte in der form string. Ich habe ein wenig bearbeitet, aber die Fehler bekomme ich jetzt auf die transferspreadsheet-Zeile "Microsoft database engine (Datenbankmodul konnte das Objekt nicht finden "1301 Array" $A$1:J$12'. Stellen Sie sicher, dass das Objekt existiert und Sie buchstabieren Ihren Namen richtig.
Ich nahm fullrange-und put-in-Seite.name und er gab mir den gleichen Fehler.
For Each Page In Worksheets
PageName = Split(Page.Name, " ")
If UBound(PageName) > 0 Then
' Worksheets(Page.Name).Activate - this line is most likely not needed
lRow = Page.Range("A" & Rows.Count).End(xlUp).Row
LCol = Page.Cells(2, Columns.Count).End(xlToLeft).Column
fullRange = Page.Name & Page.Range(Page.Cells(1, 1), _
Page.Cells(lRow, LCol)).Address
accappl.DoCmd.TransferSpreadsheet acImport, _
acSpreadsheetTypeExcel12Xml, Page.Name, strpathxls, True, Page.Name
End If
Next
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich modifiziert Ihren code ein bisschen, haben einen Blick zu sehen, wenn Sie können sehen, wo Sie falsch gegangen.
Set fullRange
Range("A1:A50").Address
gibt eine String-Darstellung des BereichsHier einige code, der Bereich muss haben ! in es für einige Grund.