A következő VBA-kódot használom, hogy lehetővé tegyem az automatikus kiegészítést, amikor a legördülő listába írok be egy kombinált mező használatával.
Ez a kód letiltja a "Visszavonás" és az "Újra" funkciókat azokon a lapokon, amelyekre a VBA-kód vonatkozik. Módosítható-e a VBA kód, hogy engedélyezze ezeket a funkciókat?
Private Sub Worksheet_SelectionChange (ByVal Target as Range)
'Frissítés Extendoffice: 2018 / 9 / 21
Dim xCombox OLEObjectként
Dim xStr As String
Dim xWs munkalapként
Dim xArr
Set xWs = Application.ActiveSheet
On Error Resume Next
xCombox = xWs.OLEObjects("TempCombo") beállítása
xCombox-szal
.ListFillRange = ""
.LinkedCell = ""
.Látható = Hamis
Vége
Ha Target.Validation.Type = 3 Akkor
Target.Validation.InCellDropdown = Hamis
Mégse = Igaz
xStr = Target.Validation.Formula1
xStr = Jobb(xStr, Len(xStr) - 1)
Ha xStr = "" Lépjen ki a Subból
xCombox-szal
.Visible = True
.Bal = Cél.Bal
.Top = Target.Top
.Width = Target.Width + 5
.Magasság = Cél.Magasság + 5
.ListFillRange = xStr
Ha .ListFillRange = "" Akkor
xArr = Felosztás(xStr, ",")
Me.TempCombo.List = xArr
Ha véget
.LinkedCell = Cél.Cím
Vége
xCombox.Aktiválás
Me.TempCombo.DropDown
Ha véget
End Sub
Private Sub TempCombo_KeyDown (ByVal kulcskód MSForms.ReturnInteger, ByVal Shift egész szám)
Válassza a Case KeyCode lehetőséget
Case 9
Application.ActiveCell.Offset(0, 1).Aktiválás
Case 13
Application.ActiveCell.Offset(1, 0).Aktiválás
Vége kiválasztása
End Sub