0

以下の「lFundcolumn」の「Activesheet.cells」を「rnMonths」に置き換えると、「ランタイムエラー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
4

1 に答える 1

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

それがうまくいくことを願っています!!

于 2013-03-25T14:21:23.023 に答える