By 框架27 02年2019月XNUMX日,星期五
張貼在 Excel
回复 3
0
觀看 7.1K
投票 0
我使用以下 VBA 程式碼來允許在使用組合方塊輸入下拉清單時自動完成。

此程式碼停用 VBA 程式碼所套用的工作表上的「撤銷」和「重做」功能。 能否修改 VBA 程式碼以實現這些功能?

私人子工作表_SelectionChange(ByVal Target As Range)
'更新 Extendoffice2018 / 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
.Visible = True
.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 個評論
·
查看全文