2016-05-05 27 views
0

列の数はわかっていますが、どの行がわからない範囲をどのように参照しますか? Range("A&i:J&i")レンダリングの正しい方法は何ですか?既知の列と不明な行の参照範囲Excel VBA

For i = 8 To WSData.Range("A8").End(xlDown).Row 

     If Cells(i, 1) = "Overall Totals:" Then 
      WSData.Range("A&i:J&i").Interior.Color = RGB(217, 217, 217) 
     End If 

Next 
+2

'Range(" A "&i&":J "&i)' –

+0

これはうまくいきました。ありがとうございました。 – Dombey

答えて

1

スコットの答えはもちろん正しいです。しかし、あなたが有用であるかもしれない可変範囲を参照するいくつかの他の方法があります。

1)WSData.Range("A10", "J10")を使用することもできます。つまり、左上と右下のセルを別々の2つのパラメータとして指定することができます。 (paranetersの順序は実際に重要ではありません!) をあなたの例では、あなたが使用します。WSData.Range( "" &私、 "J" & I)

2)私はむしろ、数字を使用して見つけます特に列が未知である場合は、列の文字よりも便利です。基本的な構造は以下の通りです。

WSData.Range(Cells(1,10), Cells(10,10) 'A10 to J10) 

またはあなたの例では

WSData.Range(Cells(1,i), Cells(10,i)) 

1は注意する必要があるが!セル範囲のデフォルトワークシートはアクティブワークシートです。これがWSDataと同じでない場合は、実行時エラーが発生します。

WSData.Range(WSData.Cells(1,i), WSData.Cells(10,i)) 

これはかなり長いったらしい見えるかもしれませんが、あなたはそれぞれの変数を使用することができますよう、それはあなたの範囲を指定することで、完全な柔軟性を提供します:しかし、これは簡単で、「細胞」は、所属するワークシートを指定することで回避することができますセルパラメータの

関連する問題