Пятница, 02 Август 2019
  3 Ответы
  6.7 тыс. Посещений
Я использую следующий код VBA, чтобы разрешить автозаполнение при вводе раскрывающегося списка с помощью поля со списком.

Этот код отключает функции «Отменить» и «Повторить» на листах, к которым применяется код VBA. Можно ли изменить код VBA, чтобы разрешить эти функции?

Private Sub Worksheet_SelectionChange (ByVal Target As Range)
'Обновить Extendoffice: 2018 / 9 / 21
Dim xCombox как OLEObject
Dim xStr как строка
Dim xWs как рабочий лист
Тусклый xArr

Установите xWs = Application.ActiveSheet
On Error Resume Next
Установите xCombox = xWs.OLEObjects("TempCombo")
С xCombox
.ListFillRange = ""
.LinkedCell = ""
.Видимый = Ложь
Конец с
Если Target.Validation.Type = 3 Тогда
Target.Validation.InCellDropdown = Ложь
Отмена = True
xStr = Цель.Валидация.Формула1
xStr = Вправо(xStr, Len(xStr) - 1)
Если xStr = "", то выйдите из Sub
С xCombox
.Visible = True
.Слева = Цель.Слева
.Верх = Цель.Верх
.Ширина = Целевая.Ширина + 5
.Высота = Цель.Высота + 5
.ListFillRange = xStr
Если .ListFillRange = "" Тогда
xArr = Разделить (xStr, ",")
Me.TempCombo.List = xArr
End If
.LinkedCell = Целевой.Адрес
Конец с
xCombox.Активировать
Me.TempCombo.DropDown
End If
End Sub
Private Sub TempCombo_KeyDown (ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Выберите код ключа дела
Дело 9
Application.ActiveCell.Offset(0, 1).Активировать
Дело 13
Application.ActiveCell.Offset(1, 0).Активировать
End Select
End Sub
2 лет назад
·
#1985
Было ли это когда-нибудь решено? у меня такая же проблема
2 лет назад
·
#1986
Был ли дан ответ на этот вопрос? У меня такая же проблема, и мне действительно нужна функция отмены. 
2 лет назад
·
#1987
Привет Некстген,

Извините, что вы не можете отменить или повторить после применения каких-либо кодов VBA. Если вы хотите использовать функцию отмены или повтора, используйте функции Kutools.

Аманда
  • Страница:
  • 1
Там нет ответов, сделанные на этот пост пока нет.