Как изменить значение ячейки на основе активной / выбранной ячейки - PullRequest
0 голосов
/ 21 января 2020

У меня есть список имен в диапазоне A2: A77 , в имени листа, называемом Manual . всякий раз, когда я выбираю имя, то есть когда ячейка выбирается из диапазона, это значение активной ячейки должно отражаться в ячейке C1 . Кроме того, макрос не должен работать в случае, если я выбрал другое, где, кроме данного листа или диапазона.

Я много гуглил, но, похоже, ничего не соответствует моим критериям, поэтому я здесь, надеясь на лучшее решение. Вы можете попросить меня добиться этого с помощью проверки данных, но для этого мне придется делать несколько кликов и выполнять прокрутку каждый раз. поэтому, чтобы избежать этого, я ищу код VBA, чтобы минимизировать работу и время. Спасибо.

1 Ответ

1 голос
/ 21 января 2020

Я только сейчас изучаю VBA, так что это может быть какой-то очень внушительный код, но здесь.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim cells As Range
    Set cells = ActiveSheet.Range("A1:A27")
    If Not (Intersect(Target, cells) Is Nothing) Then
       ActiveSheet.Range("C1").Value = Target.Value
    End If
End Sub

Worksheet_SelectionChange вызывается, если выбранная ячейка на листе изменяется, с использованием теста из InRange, который я нашел здесь: VBA-тест, если ячейка находится в диапазоне тест если ячейка находится в заданном диапазоне, задайте значения.

Отредактировано в комментариях @Vitaliy Prushak.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...