在设定区域内查找/查找

时间:2013-03-25 13:50:36

标签: excel excel-vba vba

当我用“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

1 个答案:

答案 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

希望能有所作为!!