Введите значение в несколько ячеек, не используя Ctrl + Enter - PullRequest
0 голосов
/ 10 апреля 2020

Я хочу выбрать несколько ячеек и при вводе значения добавить его во все ячейки, не нажимая Ctrl + Enter в конце

Возможно ли это с помощью VBA?

1 Ответ

1 голос
/ 10 апреля 2020

Для подхода, который просто требует от вас нажатия Введите , вы можете использовать событие Change, что-то вроде этого:

Private Sub Worksheet_Change(ByVal Target As Range)
    If TypeOf Selection Is Range Then
        If Not Intersect(Selection, Target) Is Nothing Then
            On Error GoTo SafeExit
            Application.EnableEvents = False
            Selection.Value = Target.Cells(1).Value
        End If
    End If
SafeExit:
    Application.EnableEvents = True
End Sub

Если вы хотите, чтобы это работало, когда формула введено (не уверен, что вы, но в любом случае):

Private Sub Worksheet_Change(ByVal Target As Range)
    If TypeOf Selection Is Range Then
        If Not Intersect(Selection, Target) Is Nothing Then
            On Error GoTo SafeExit
            Application.EnableEvents = False
            If Target.HasFormula Then
                Selection.Formula = Target.Cells(1).Formula
            Else
                Selection.Value = Target.Cells(1).Value
            End If
        End If
    End If
SafeExit:
    Application.EnableEvents = True
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...