Ich muss ein aktualisiertes VBA-Skript erstellen, das das Ergebnis aus einer Access 2010-Anfrage in eine vorhandene Excel-Datei nach dem aktuellen Inhalt überträgt.Transfer Access 2010-Ergebnistabelle nach vorhandenem Inhalt in Excel-Datei
Hier wird das vorherige Skript ist, das 97.
Private Sub CmdTransfert_Click()
On Error GoTo Err_CmdTransfert_Click
Dim Requete As QueryTable
Dim appXL As Excel.Application
Dim Classeur As Excel.Workbook
Dim Cellule As Excel.Range
Dim Plage As Excel.Range
' Bills that needs to be transfered
DoCmd.OpenQuery "Liste_factures_numero"
' Select answers
SendKeys "^a", True
' Copy
SendKeys "^c", True
' Opening Excel
Set appXL = CreateObject("Excel.Application")
appXL.Visible = True
'Only XL 97 supports UserControl Property
On Error Resume Next
appXL.UserControl = True
Set Classeur = appXL.Workbooks.Open("C:\Users\me\Desktop\copiedetravailvlvaccdb\reglements.xlsx")
Set Cellule = Classeur.Worksheets(1).Cells(Classeur.Worksheets(1).Range("a1").CurrentRegion.Rows.Count + 1, 1)
Cellule.Select
' Paste
SendKeys "^v", True
' Cellule.PasteSpecial xlPasteValues
' Deleting titles
Cellule.EntireRow.Delete
'Fixing date format
Set Plage = Selection
For Each Cellule In Plage
If Cellule.Column = 2 Then
If Cellule.Value <> "" Then
Cellule.Value = CDate(Cellule.Value)
End If
End If
Next
' Mise au format normal
Range("A3:D3").Copy
Plage.PasteSpecial Paste:=xlFormats
Excel.Application.CutCopyMode = False
' Closing request
DoCmd.Close acQuery, "Liste_factures_numero", acSaveNo
Exit_CmdTransfert_Click:
Exit Sub
Err_CmdTransfert_Click:
MsgBox Err.Description
Resume Exit_CmdTransfert_Click
End Sub
Ich habe versucht, mit Access gearbeitet haben, das Hinzufügen Schlaf Befehle um die Sendkeys Anweisung, es hat nicht funktioniert. Das Ergebnis wurde nicht ausgewählt, also nicht kopiert oder eingefügt.
Als letzten Ausweg habe ich versucht, ein neues Skript mit DoCmd.TransferSpreadsheet zu erstellen, aber ich kann nicht herausfinden, wie der neue Inhalt nach dem vorhandenen hinzugefügt wird.
DoCmd.TransferSpreadsheet acExport, , "Liste_factures_numero", "C:\Users\me\Desktop\copiedetravailvlvaccdb\reglements.xlsx", True
Wie auch immer es überschreibt den Inhalt. Dies ist mein erstes Mal mit VBA.
Danke, es funktioniert super! Problem gelöst :) – Relkco
@Relkco Mein Vergnügen! :) – gofr1