2011-01-07 13 views
5

私は、次の欄に「0」の出現を検索するには、次のVBAコードを持っている:それはたとえば、B6に「0」を発見したとき、それはC7が表示されるように隣接セルのアドレスを取得する方法は?

For Each c In Range("B:B") 

     If c.Value = "0" Then 
      MsgBox "0 found at " & (c.Address) 
     End If 
    Next c 

は、どのように私は、コードを変更することができます?すなわち、 "0"が見つかったセルに斜めに隣接するセルを表示します。どのように

答えて

5

 MsgBox "0 found at " & Cells(c.Row + 1, c.Column + 1) 
+2

ありがとうございました。それは動作しますが、私はCells(c.Row + 1、c.Column + 1).Addressにする必要がありました。 – xbonez

18

あなたはOffset

MsgBox "0 found at " & c.Offset(1,1).Address 

Offsetプロパティを使用することができますが、フォームOffset(row, column)です。例:

Range("B6").Offset(0,0) //refers to cell B6 
Range("B6").Offset(1,0) //move one row down (B7) 
Range("B6").Offset(0,1) //move one column to the right (C6) 
Range("B6").Offset(-1,0) //move one row up (B5) 
Range("B6").Offset(0,-1) //move one column to the left (A6) 
関連する問題