VBA错误代码 – 800A01A8:所需对象':'select
运行此vba代码时出现此错误。 其种类的语法错误。 请帮助我。 这是脚本。 脚本所做的是将数据从一列复制到另一列并select复制的列。
Set objExcel = CreateObject("Excel.Application") objExcel.Visible = True Set objWorkbook = objExcel.Workbooks.Open("C:\Users\pc\Report\report_20120912.xls") Set ws = objWorkbook.Worksheets("Data") Set SelRange = objExcel.Selection ws.Range("F2:F1000").AdvancedFilter 2,,ws.Range("M2"),True ws.Range("N1") = ws.Range("A1") ws.Range("O1") = ws.Range("B1") //Below line has the bug ws.Range("M2").Select selection=objExcel.Selection col1=selection.End(xlDown) //showing error on this line ws.Range(selection,col1).Select n = ws.Range.Count ws.Range("S2").Select
我看到你已经把问题标记为Excel / Excel-VBA
如果你在VBA Excel中这样做,那么你不需要使用CreateObject
来创build另一个Excel实例。 你也可以使用当前的实例
看到这个代码
Sub Sample() Dim objWorkbook As Workbook, ws As Worksheet Set objWorkbook = Workbooks.Open("C:\Users\pc\Report\report_20120912.xls") Set ws = objWorkbook.Worksheets("Data") With ws ' '~~> Rest of the code ' End With End Sub
正如我的评论中提到的,抛出Selection
/ Select
你的代码。 它不仅会减慢你的代码,而且会给你带来运行时错误。 看到这个链接 。 我已经评论下面的代码,以便你不会有任何理解它的问题。 🙂
你上面的代码也可以写成( 我没有testing过这个代码 )
Option Explicit Sub Sample() Dim objWorkbook As Workbook, ws As Worksheet Dim lRow As Long, n As Long Dim mRange As Range '~~> Open the workbook Set objWorkbook = Workbooks.Open("C:\Users\pc\Report\report_20120912.xls") '~~> Set the sheet that you want to work with Set ws = objWorkbook.Worksheets("Data") With ws .Range("F2:F1000").AdvancedFilter 2, , .Range("M2"), True .Range("N1").Value = .Range("A1").Value .Range("O1").Value = .Range("B1").Value '~~> Find the last row lRow = .Range("M" & .Rows.Count).End(xlUp).Row '~~> Set your range Set mRange = .Range("M2:M" & lRow) n = mRange.Count End With End Sub
如果您注意到您实际上不需要使用。 Selection
或使用Selection
Application
上的Selection
属性是一个对象,所以你需要使用Set
来分配它。 更改
selection=objExcel.Selection
至
Set selection=objExcel.Selection
下一行应该工作。
以下行是可疑的:
selection=objExcel.Selection
selection
可能被认为是Application
的全局Selection
(propery)。 但是你不能指定它; 它是只读的。 用小写字母拼写表示Excel在这里是困惑的。 此外,您将需要使用Set
来分配一个对象。