Используя Excel VB, обновите определенную ячейку при любом изменении другой определенной ячейки - PullRequest
0 голосов
/ 22 марта 2011

Я думаю, что это должна быть простая прямая проблема, однако я очень новичок в кодировании VB.

Я бы хотел, чтобы содержимое A1 копировалось в B1, а B1 - полностью редактируемым, однако, если в A1 вносятся какие-либо изменения, содержимое снова копируется в B1. Следующий код копирует содержимое, однако, при любом изменении, но я хочу, чтобы оно активировалось только в случае внесения изменений в A1.

Private Sub Worksheet_Change(ByVal Target As Range)
   Range("A3").Formula = Range("A1").Formula
End Sub

Спасибо за вашу помощь, Randy

Ответы [ 2 ]

2 голосов
/ 22 марта 2011

Вы можете использовать этот код:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        Range("B1") = Range("A1")
    End If
End Sub
0 голосов
/ 22 марта 2011

Вот страница о событиях в Excel cpearson.com / excel / Events.aspx

Нет ничего похожего на "cell_changed".Лучшее, что вы можете получить, это «Worksheet_change», но это будет срабатывать каждый раз, когда что-то на листе изменится.Конечно, вы можете проверить в случае этого события, изменился ли «А1».Но, вероятно, вашей функции придется проверять это очень часто.

...