I am trying to execute an ADODB query in a named range in an Excel 2013 workbook.
My code is as follows:
Option Explicit
Sub SQL_Extract()
Dim objConnection As ADODB.Connection
Dim objRecordset As ADODB.Recordset
Set objConnection = CreateObject("ADODB.Connection") ' dataset query object
Set objRecordset = CreateObject("ADODB.Recordset") ' new dataset created by the query
objConnection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & ThisWorkbook.FullName & ";" & _
"Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1"";"
objConnection.Open
objRecordset.Open "SELECT * FROM [HighRange]", objConnection, adOpenStatic, adLockOptimistic, adCmdText
If Not objRecordset.EOF Then
ActiveSheet.Cells(1, 1).CopyFromRecordset objRecordset
End If
objRecordset.Close
objConnection.Close
End Sub
If the range HighRangegoes beyond line 65536 (e.g. A65527: B65537), I get an error

If I delete enough lines to delete the range below line 65536, the code works.
The code also works if I force the workbook to read only (and make sure that someone else does not have a read-only version).
Am I doing something wrong, or is this a bug in Excel 2013?
(The problem exists in both 32-bit and 64-bit versions. Also exists in Excel 2016.)