Tôi đang sử dụng mã VBA sau để cho phép tự động hoàn thành khi nhập vào danh sách thả xuống bằng cách sử dụng hộp tổ hợp.
Mã này vô hiệu hóa chức năng "Hoàn tác" và "Làm lại" trên trang tính mà mã VBA được áp dụng. Mã VBA có thể được sửa đổi để cho phép các chức năng này không?
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
'Cập nhật bởi Extendoffice: 2018 / 9 / 21
Làm mờ xCombox dưới dạng OLEObject
Làm mờ xStr dưới dạng chuỗi
Làm mờ xWs dưới dạng trang tính
Làm mờ xArr
Đặt xWs = Application.ActiveSheet
On Error Resume Next
Đặt xCombox = xWs.OLEObjects ("TempCombo")
Với xCombox
.ListFillRange = ""
.LinkedCell = ""
.Vible = False
Kết thúc với
Nếu Target.Validation.Type = 3 Thì
Target.Validation.InCellDropdown = Sai
Hủy bỏ = Đúng
xStr = Target.Validation.Formula1
xStr = Right (xStr, Len (xStr) - 1)
If xStr = "" Then Exit Sub
Với xCombox
.Vible = True
.Left = Mục tiêu.Trái
.Top = Mục tiêu.Top
.Width = Target.Width + 5
.Height = Mục tiêu.Height + 5
.ListFillRange = xStr
Nếu .ListFillRange = "" Thì
xArr = Tách (xStr, ",")
Tôi.TempCombo.List = xArr
Cuối Nếu
.LinkedCell = Đích.Địa chỉ
Kết thúc với
xCombox.Kích hoạt
Tôi.TempCombo.DropDown
Cuối Nếu
End Sub
Private Sub TempCombo_KeyDown (ByVal KeyCode như MSForms.ReturnInteger, ByVal Shift As Integer)
Chọn mã khóa trường hợp
Trường hợp 9
Application.ActiveCell.Offset (0, 1). Kích hoạt
Trường hợp 13
Application.ActiveCell.Offset (1, 0). Kích hoạt
Kết thúc Chọn
End Sub
Mã này vô hiệu hóa chức năng "Hoàn tác" và "Làm lại" trên trang tính mà mã VBA được áp dụng. Mã VBA có thể được sửa đổi để cho phép các chức năng này không?
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
'Cập nhật bởi Extendoffice: 2018 / 9 / 21
Làm mờ xCombox dưới dạng OLEObject
Làm mờ xStr dưới dạng chuỗi
Làm mờ xWs dưới dạng trang tính
Làm mờ xArr
Đặt xWs = Application.ActiveSheet
On Error Resume Next
Đặt xCombox = xWs.OLEObjects ("TempCombo")
Với xCombox
.ListFillRange = ""
.LinkedCell = ""
.Vible = False
Kết thúc với
Nếu Target.Validation.Type = 3 Thì
Target.Validation.InCellDropdown = Sai
Hủy bỏ = Đúng
xStr = Target.Validation.Formula1
xStr = Right (xStr, Len (xStr) - 1)
If xStr = "" Then Exit Sub
Với xCombox
.Vible = True
.Left = Mục tiêu.Trái
.Top = Mục tiêu.Top
.Width = Target.Width + 5
.Height = Mục tiêu.Height + 5
.ListFillRange = xStr
Nếu .ListFillRange = "" Thì
xArr = Tách (xStr, ",")
Tôi.TempCombo.List = xArr
Cuối Nếu
.LinkedCell = Đích.Địa chỉ
Kết thúc với
xCombox.Kích hoạt
Tôi.TempCombo.DropDown
Cuối Nếu
End Sub
Private Sub TempCombo_KeyDown (ByVal KeyCode như MSForms.ReturnInteger, ByVal Shift As Integer)
Chọn mã khóa trường hợp
Trường hợp 9
Application.ActiveCell.Offset (0, 1). Kích hoạt
Trường hợp 13
Application.ActiveCell.Offset (1, 0). Kích hoạt
Kết thúc Chọn
End Sub