Как получить адрес соседней ячейки? - PullRequest
10 голосов
/ 07 января 2011

У меня есть следующий код VBA, чтобы найти вхождения «0» в следующем столбце:

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

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

Как я могу изменить код так, чтобы, когда он находит «0», скажем, B6,это показывает C7?то есть.он отображает ячейку, расположенную по диагонали рядом с ячейкой, в которой находится «0».

Ответы [ 2 ]

24 голосов
/ 07 января 2011

Вы можете использовать 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)
8 голосов
/ 07 января 2011

Как насчет:

        MsgBox "0 found at " & Cells(c.Row + 1, c.Column + 1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...