Target.Formula содержит ссылку на ячейку.Как получить ссылку на ячейку рядом с ней? - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть макрос, активированный путем редактирования столбца 1 в - например, - thisSheet.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        MsgBox (Target.Formula)
    End If
End Sub

Например, после редактирования thisSheet!A$1 в окне сообщения отображается =otherSheet!C$123, что нормально

Теперь мне нужно, чтобы макрос автоматически записал в thisSheet!B$1 формулу otherSheet!D$123.Я просто хочу ввести ссылки на ячейки строки в otherSheet в строку thisSheet Вот небольшой пример того, что мне нужно

Шаг 1, otherSheet - это const, thisSheet - этопусто.

otherSheet                   thisSheet
---+-------+-------+-------  -+-----------------+-----------------+-----------------
   | C     | D     | E        | A               | B               | C
---+-------+-------+-------  -+-----------------+-----------------+-----------------
123|valueA1|valueB1|valueC1  1|                 |                 |
---+-------+-------+-------  -+-----------------+-----------------+-----------------
124|valueA2|valueB2|valueC2  2|                 |                 |
---+-------+-------+-------  -+-----------------+-----------------+-----------------

Шаг 2, otherSheet является постоянным, thisSheet редактируется вручную

otherSheet                   thisSheet
---+-------+-------+-------  -+-----------------+-----------------+-----------------
   | C     | D     | E        | A               | B               | C
---+-------+-------+-------  -+-----------------+-----------------+-----------------
123|valueA1|valueB1|valueC1  1|=otherSheet!C$123|                 |
-+-------+-------+-------    -+-----------------+-----------------+-----------------
124|valueA2|valueB2|valueC2  2|                 |                 |
-+-------+-------+-------    -+-----------------+-----------------+-----------------

Шаг 3, otherSheet является постоянным, thisSheet редактируется автоматическипо макросам

otherSheet                   thisSheet
---+-------+-------+-------  -+-----------------+-----------------+-----------------
   | C     | D     | E        | A               | B               | C
---+-------+-------+-------  -+-----------------+-----------------+-----------------
123|valueA1|valueB1|valueC1  1|=otherSheet!C$123|=otherSheet!D$123|=otherSheet!E$123
---+-------+-------+-------  -+-----------------+-----------------+-----------------
124|valueA2|valueB2|valueC2  2|                 |                 |
---+-------+-------+-------  -+-----------------+-----------------+-----------------

Как это сделать?

1 Ответ

0 голосов
/ 06 декабря 2018

Вы можете сделать это.Но вы имеете в виду, что каждый раз, когда меняется А, вы хотите скопировать его в следующий столбец?Или что определяет, как далеко оно проходит?

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        Target.Copy Target.Offset(, 1) 'copied to B
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...