By 框架27 02年2019月XNUMX日,星期五
张贴在 Excel
回复 3
0
观点 7K
投票 0
我使用以下 VBA 代码在使用组合框输入下拉列表时允许自动完成。

此代码禁用应用 VBA 代码的工作表上的“撤消”和“重做”功能。 可以修改 VBA 代码以允许这些功能吗?

Private Sub Worksheet_SelectionChange(作为范围的ByVal目标)
'更新者 Extendoffice:2018 / 9 / 21
将 xCombox 调暗为 OLEObject
将 xStr 调暗为字符串
将 xWs 调暗为工作表
暗淡 xArr

设置 xWs = Application.ActiveSheet
出错时继续下一步
设置 xCombox = xWs.OLEObjects("TempCombo")
使用 xCombox
.ListFillRange = ""
.LinkedCell = ""
.可见=假
结束
如果 Target.Validation.Type = 3 那么
Target.Validation.InCellDropdown = 假
取消 = 真
xStr = 目标.验证.公式1
xStr = 右 (xStr, Len(xStr) - 1)
如果 xStr = "" 则退出 Sub
使用 xCombox
.可见=真
.Left = 目标.Left
.Top = 目标.Top
.Width = 目标.Width + 5
.Height = 目标.Height + 5
.ListFillRange = xStr
如果 .ListFillRange = "" 那么
xArr = 拆分(xStr,“,”)
Me.TempCombo.List = xArr
结束如果
.LinkedCell = 目标.地址
结束
xCombox.激活
我.TempCombo.DropDown
结束如果
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 SUB
这个问题解决了吗? 我有同样的问题
·
2年前
·
0喜欢
·
0投票
·
0条评论
·
这个问题有回答吗? 我有同样的问题,真的需要撤消功能。 
·
2年前
·
0喜欢
·
0投票
·
0条评论
·
嗨,下一代,

抱歉,应用任何 VBA 代码后您无法撤消或重做。 如果您想使用撤消或重做功能,请使用 Kutools 功能。

阿曼达
·
2年前
·
0喜欢
·
0投票
·
0条评论
·
查看全文