当我用“rnMonths”替换下面“lFundcolumn”中的“Activesheet.cells”时,我得到一个“运行时错误13”。如果有人能在这里解释我做错了什么,我将不胜感激。
简而言之 - 我希望在一行中找到一个值并将该列和列复制到其右侧。下面是用于查找错误的第一列的代码。
Sub Roll_period()
Dim sMonth As String
Dim rnMonths As Range
Dim lFundcolumn As Long
Dim rnRngtocopy As Range
sMonth = ActiveSheet.Cells(3, 1).Value
Set rnMonths = ActiveSheet.Rows(4)
lFundcolumn = rnMonths.Find(What:=sMonth, after:=ActiveCell, LookIn:=xlValues, LookAt:=xlWhole, searchorder:=xlByColumns).Column
答案 0 :(得分:4)
...你做的一切都正确,你的after:=ActiveCell
陈述中的问题是Find
,这可能会也可能不会指向合适的地方......
将其更改为:
after:=rnMonths.Cells(1, 1)
看起来像是:
lFundcolumn = rnMonths.Find(What:=sMonth, after:=rnMonths.Cells(1, 1), LookIn:=xlValues, LookAt:=xlWhole, searchorder:=xlByColumns).Column
希望能有所作为!!