2017-03-22 3 views
1
Dim cell As Range 
    Dim agentRange As Range 

    Set agentRange = ThisWorkbook.Worksheets("OtherSheet").Range(Range("S9").value, Range("T9").value) 

    For Each cell In agentRange 

     Dim col As Long 
     col = cell.column 

     Dim cellStart As Range 
     ***cellStart = ThisWorkbook.Worksheets("OtherSheet").Cells(3, col))*** 

     'Do Stuff 

    Next cell 

私はcellStartの割り当てに問題があります。コードを書かれたものとして使用しようとすると、エラーが発生します。Excel - 範囲を取得するためにintを使用する問題

Run-time error '91' 

Object Variable or With block variable not set 
+0

何 'レンジを持っています'Set agentRange'に行きたいですか? 'Debug.Print agentRange.Address'のこの行の後に行を追加すると、何が得られますか? –

+0

その部分が正しい範囲を返します。その特定のステートメントを使用すると、レポートを生成するデータの塊をトリミングすることができます。設定範囲はC1〜BN1です。 colは3を返します。 – Mytheral

+2

あなたのエラーでは 'set cellStart = ThisWorkbook.Worksheets(" OtherSheet ")、Cells(3、col))'という意味ですか? 'Range'を設定するための' Set'がありません。 –

答えて

2

エラーの理由はcellStartRangeです。

したがって、あなたがそれをSetする必要があります。

Set cellStart = ThisWorkbook.Worksheets("OtherSheet").Cells(3, col) 

:あなたは、最後に1つの "余分な" 閉じ括弧を持っているあなたは2 ))だけではなく)

関連する問題