Uporabljam naslednjo kodo VBA, da omogočim samodejno dokončanje pri tipkanju na spustnem seznamu s kombiniranim poljem.
Ta koda onemogoči funkciji "Razveljavi" in "Ponovi" na listih, na katere je uporabljena koda VBA. Ali je mogoče spremeniti kodo VBA, da omogoči te funkcije?
Zasebni pod delovni list_Sprememba izbora(ByVal Target As Range)
'Posodobite do Extendoffice: 2018 / 9 / 21
Zatemni xCombox kot OLEObject
Dim xStr kot niz
Dim xWs kot delovni list
Dim xArr
Nastavite xWs = Application.ActiveSheet
On Error Resume Next
Nastavite xCombox = xWs.OLEOobjects("TempCombo")
Z xComboxom
.ListFillRange = ""
.LinkedCell = ""
.Vidno = False
Končaj s
Če je Target.Validation.Type = 3 Potem
Target.Validation.InCellDropdown = False
Prekliči = Res
xStr = Target.Validation.Formula1
xStr = Desno(xStr, Len(xStr) - 1)
Če je xStr = "" Nato zapustite Sub
Z xComboxom
.Vidno = Res
.Levo = Target.Levo
.Vrh = Cilj.Vrh
.Širina = Ciljna.Širina + 5
.Višina = Ciljna.Višina + 5
.ListFillRange = xStr
Če je .ListFillRange = "" Potem
xArr = Split(xStr, ",")
Me.TempCombo.List = xArr
Konec Če
.LinkedCell = Target.Address
Končaj s
xCombox.Aktiviraj
Me.TempCombo.DropDown
Konec Če
End Sub
Private Sub TempCombo_KeyDown(ByVal KeyCode kot MSForms.ReturnInteger, ByVal Shift kot celo število)
Izberite Case KeyCode
Case 9
Application.ActiveCell.Offset(0, 1).Aktiviraj
Case 13
Application.ActiveCell.Offset(1, 0).Aktiviraj
Konec Izberi
End Sub
Ta koda onemogoči funkciji "Razveljavi" in "Ponovi" na listih, na katere je uporabljena koda VBA. Ali je mogoče spremeniti kodo VBA, da omogoči te funkcije?
Zasebni pod delovni list_Sprememba izbora(ByVal Target As Range)
'Posodobite do Extendoffice: 2018 / 9 / 21
Zatemni xCombox kot OLEObject
Dim xStr kot niz
Dim xWs kot delovni list
Dim xArr
Nastavite xWs = Application.ActiveSheet
On Error Resume Next
Nastavite xCombox = xWs.OLEOobjects("TempCombo")
Z xComboxom
.ListFillRange = ""
.LinkedCell = ""
.Vidno = False
Končaj s
Če je Target.Validation.Type = 3 Potem
Target.Validation.InCellDropdown = False
Prekliči = Res
xStr = Target.Validation.Formula1
xStr = Desno(xStr, Len(xStr) - 1)
Če je xStr = "" Nato zapustite Sub
Z xComboxom
.Vidno = Res
.Levo = Target.Levo
.Vrh = Cilj.Vrh
.Širina = Ciljna.Širina + 5
.Višina = Ciljna.Višina + 5
.ListFillRange = xStr
Če je .ListFillRange = "" Potem
xArr = Split(xStr, ",")
Me.TempCombo.List = xArr
Konec Če
.LinkedCell = Target.Address
Končaj s
xCombox.Aktiviraj
Me.TempCombo.DropDown
Konec Če
End Sub
Private Sub TempCombo_KeyDown(ByVal KeyCode kot MSForms.ReturnInteger, ByVal Shift kot celo število)
Izberite Case KeyCode
Case 9
Application.ActiveCell.Offset(0, 1).Aktiviraj
Case 13
Application.ActiveCell.Offset(1, 0).Aktiviraj
Konec Izberi
End Sub