Errors With Late Binding

D

Dustin Ventin

I am writing a Microsoft Access application that exports data to Excel, and
have just started using late binding. However, I am experiecing some errors
now that I have done so.

'Here is where I input the late binding code
Dim ExcelApp As Object
Set ExcelApp = CreateObject("Excel.Application")

'Here is where I try to copy the cell formulas to encompass all input rows

ExcelApp.Range("H2:AD2").Select
strFields = "H2:AD" & intRecords
ExcelApp.Selection.AutoFill Destination:=ExcelApp.Range(strFields),
Type:=xlFillDefault

strFields is set to encompass all the rows that have been imported into
Excel. However, the application no longer seems to work at the last line of
code.

ExcelApp.Selection.AutoFill Destination:=ExcelApp.Range(strFields),
Type:=xlFillDefault

Any ideas?

Thanks!

Dustin
 
B

Bob Phillips

You don't need to, shouldn't use Select, and you need to specify the sheet

With ExcelApp.Worksheets("Sheet1")
.Range("H2:AD2").AutoFill _
Destination:= ExcelApp.Range("H2:AD" & intRecords), _
Type:=xlFillDefault
End With
..

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 
B

Bob Phillips

Don't need to use select, shouldn't use select.

And the reason is that it is slow and makes the coding much more convoluted
and difficult to maintain.

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 
D

Dustin Ventin

In that case, how would I select and copy a certain range of records, such
as I am doing with the following code:

ExcelApp.Sheets(strSource).Select
strFields = "A2:A" & intRecords + 1
ExcelApp.Range(strFields).Select
ExcelApp.CutCopyMode = False
ExcelApp.Selection.Copy

Thanks!

Dustin
 
B

Bob Phillips

You don't

strFields = "A2:A" & intRecords + 1
ExcelApp.Sheets(strSource).Range(strFields).Copy


--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top