我得到"应用程序定义或对象定义错误"在范围内传递参数时。
如果我使用以下编码,它运行正常,没有任何错误。
With Sheets("BBG").Range("A1:AD1")
但我用下面的代码运行它,它反映了上面的错误。
With Sheets("BBG").Range("A1:" & LastColumn & 1)
完成编码
Dim LastColumn As Long
With Sheets("BBG")
LastColumn = .Range("A1").SpecialCells(xlCellTypeLastCell).Column
Set Rng1 = .Find(What:=chck1, _
After:=.Cells(.Cells.Count), _
LookIn:=xlFormulas, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not Rng1 Is Nothing Then
Sheets(2).Activate
ThisWorkbook.Sheets(2).Cells(i, "N").Value = Rng1.Address
cl = Rng1.Column
Else
End If
End With
答案 0 :(得分:1)
你可以选择下面的范围,我不建议使用.Select或Activate方法,因为它通常不是必需的,但由于我不确定你想要对范围做什么,我举例说明如何选择它:
Sub foo()
With Sheets("BBG")
LastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
.Range(.Cells(1, 1), .Cells(1, LastCol)).Select
'Cells(1,1) = Range("A1")
'Cells(1, LastCol) = Last Column on Row 1
End With
End Sub