code VBA Mon est censé transférer mon requête dans MS Access (sans en-tête) à cellules K17 sur une feuille de calcul Excel existant nommé Totaux .fichier Excel mis à jour, mais pas de changement: requête Exporter vers Excel sans en-tête
Lorsque j'exécute le module, sous la propriété du fichier Excel, la dernière modification a été mise à jour lorsque j'ai exécuté le module. Mais je ne vois pas ma requête sur la feuille de calcul Excel.
Tout conseil sur mon code sera très apprécié. Merci beaucoup!
Sub TransToXL()
Dim xlApp As Excel.Application
Dim xlWB As Excel.Workbook
Dim xlWS As Excel.Worksheet
Dim acRng As Variant
Dim xlRow As Integer
Dim qry As QueryDef
Dim rst As Recordset
Set xlApp = New Excel.Application
Set xlWB = xlApp.Workbooks.Open("C:\Users\MyName\Desktop\August 2017.xlsx")
Set xlWS = xlWB.Worksheets("Totals")
xlRow = (xlWS.Columns("K").End(xlDown).Row)
Set qry = CurrentDb.QueryDefs("DollarsSold")
Set rst = qry.OpenRecordset
Dim c As Integer
c = 11
xlRow = xlRow + 16
Do Until rst.EOF
For Each acRng In rst.Fields
xlWS.Cells(xlRow, c).Formula = acRng
c = c + 1
Next acRng
xlRow = xlRow + 1
c = 1
rst.MoveNext
If xlRow > 25 Then GoTo rq_Exit
Loop
rq_Exit:
rst.Close
Set rst = Nothing
Set xlWS = Nothing
xlWB.Close acSaveYes
Set xlWB = Nothing
xlApp.Quit
Set xlApp = Nothing
Exit Sub
End Sub
La variable c est celui qui stocke le numéro de Colum, dans lequel c = 1 signifie que la colonne A, 11 sera K. Dans ce code, je suis confus au sujet de la façon dont je mets xlRow+16
. xlRow+16
, et c = 11 ne fait pas référence à K17. Des conseils à ce sujet? Je vous remercie!
Veuillez être plus précis et détaillé: Que voulez-vous réaliser? Qu'est-ce qui ne fonctionne pas? Messages d'erreur? – peakpeak
Excuses que ma question n'était pas si spécifique. Je viens de mettre à jour pour vérifier que les points 'xlWS.Cells' à la cellule K17 @peakpeak –
Quelle est la question? – peakpeak