2016-08-18 11 views
0

マクロを記述して、列内の各セルにVLOOKUPを実行するループを実行します。私は "実行時エラー '424'オブジェクトが必要です"というエラーが表示されますが、主な問題を特定できません。どんな洞察力や助けにも感謝します。実行時エラー '424'オブジェクトが必要です

2つの問題:実行時エラー '424'オブジェクトが必要 *ラップアラウンドまたはExcelリミットが停止するまで、ループがデータで最後のセルを過ぎ続けます。 .ActiveCellと.Valueにドット演算子を使用することは役に立ちません。あなたが「セット」キーワードを使用してレンジサーバー名を設定する必要が enter image description here

Sub New_contact_info() 

serverName = Cells.Range("AS:AS") 
contactInfo = Application.WorksheetFunction.VLookup(serverName, Worksheets("All Active Assets").Range("A:C"), 3, False) 

Cells.Range("AM:AM") = contactInfo 

For Each cell In serverName 
If serverName <> "" Then 
serverName.ValueOffset(0, -5) = contactInfo 
End If 

Next cell 

End Sub 
+1

は、あなたはそれがこのようなことはないsouldと確信している:「><セル場合は、 『』、その行は次の行が同じエラーを投げている、今は明らかである – Vityata

+0

、私はしました"cell.Offset(0、5)= contactInfo"を無用にしようとしました – 1up

+1

ちょっとアドバイス - コードの上部に "Option Explicit"と書いて、トップメニューから "Debug"> "Compile"を実行してください。コンパイルエラーをすべて表示します。「Option Explicit」 - http://www.excel-easy.com/vba/examples/option-explicit.htmlを参照してください。 – Vityata

答えて

0

。 はこの試してみて:

Sub New_contact_info() 
    dim serverName as Range 

    set serverName = Cells.Range("AS:AS") 
    contactInfo = Application.WorksheetFunction.VLookup(serverName, Worksheets("All Active Assets").Range("A:C"), 3, False) 

    Cells.Range("AM:AM").value = contactInfo 

    For Each cell In serverName 
    If serverName.value <> "" Then 
     serverName.Value.Offset(0, -5) = contactInfo 
    End If 

    Next cell 

End Sub 
関連する問題