2017-05-07 24 views
0

私はちょうど問題が何であるかを見ているようです。VBA .range.findエラー "ブロック変数が設定されていません"

私が試した:

Dim findRow As Integer 
Dim findRow As Range 
Dim findRow As Excel.Range 

それらはすべて同じエラーを与えます。 私は.withを試してみましたが、ここで.width

せずに私のコードです:

Dim findRow As Excel.Range 

findRow = ActiveWorkbook.Worksheets("AllAgents").Range("F:F").Find(What:=strEmail(1), LookIn:=xlValues) 

With ActiveWorkbook.Worksheets("AllAgents") 
    MsgBox (.Cells(2, 6)) 
    findRow = .Range("F:F").Find(What:=strEmail(1), LookIn:=xlValues) 
End With 

MsgBoxには、正しい値を示し、それがあります。 - あなたがオブジェクト変数を割り当てているので、Setが必要ですenter image description here

enter image description here

答えて

3

Set findRow = ...

これは私が取得エラーです。

+0

Argh !!!それが来るのを見たことはありませんでした:-D Thanks Tim。もう1つ - 今度はfindRowにセルの値が含まれていますが、セルの値ではなく行の番号が必要です。 xlValuesを別のものに変更する必要がありますか、値を含む行を取得するにはどうすればよいですか? – torbenrudgaard

+0

ああああ - findRowは実際のオブジェクト変数なので、私はそのように扱い、MsgBox(findRow.Row())を行なければなりません:-) – torbenrudgaard

+0

はい、通常は 'findRow.Row'(括弧なし) –

関連する問題