Excel Macro VBA: как разрешить ТОЛЬКО двойной щелчок в качестве входных данных для определенного столбца? - PullRequest
0 голосов
/ 04 сентября 2018

Как сделать так, чтобы столбцы 6 (F) и 13 (M) принимали входные данные только при двойном щелчке, что означает, что он не должен принимать любые цифры, буквы или символы и даже кнопку «удалить», а двойной щелчок?

Вот код, который я разработал:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Checking whether target cell is in third column
Select Case Target.Column
Case 6, 13

If Not Intersect(Target, Range("F2:F13, M2:M13")) Is Nothing Then Cancel = True

'Prevent cell going into Edit Mode
Cancel = True

'Changing font type of the cell
Target.Font.Name = "Marlett"

'Checking if target cell value is blank then inserting tick
If Target = "" Then
    Target = "a"
Else
    MsgBox "You cannot modify the cell."
End If
End Select

End Sub

1 Ответ

0 голосов
/ 04 сентября 2018

Когда пользователь вводит что-то в рабочую таблицу, запускаются события Change и SelectionChange. BeforeDoubleClick запускается только при двойном щелчке, поэтому, конечно, он не запускается, если они только печатают.

Самый простой способ сделать то, что вы хотите, это перейти на вкладку «Обзор»> «Защитить лист», а затем «Разрешить пользователям редактировать диапазоны». VBA должен только отметить флажок в F2: 13 и H2: 13.

...