【发布时间】:2018-04-12 19:59:20
【问题描述】:
我在工作表上的工作簿上有以下代码,旨在使用 ws change 测试交集,然后转到组合框并检索框中输入的任何值。但是,发生的情况是,在组合框中第一次输入值后,单元格未使用其值进行更新。我必须再次单击它,然后它将填充。我知道我可能必须使用另一个事件过程,但我对组合框事件一无所知。有人能指出我正确的方向吗?
谢谢迈克。
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim aRng As Range
Dim tRng As Range
Set aRng = Range("C19:C36")
Set tRng = Sheet2.Range("I2")
Application.EnableEvents = False 'to prevent re-iteration of event
On Error GoTo cleanup:
If Not Intersect(aRng, Target) Is Nothing Then
Call Sheet2.ComboBox1_Change
Target.Value = Sheet2.ComboBox1.Value
End If
cleanup: 'enable events once again
Application.EnableEvents = True
End Sub
在方框所在的第 2 页上。
Public Sub ComboBox1_Change()
With ComboBox1
.Activate
.SelText = Empty
.DropDown
.MatchRequired = True
End With
End Sub
【问题讨论】:
-
这是关于 Excel 的吗?用产品标记您的问题!
-
完成。微软 Excel 2010
标签: vba events combobox excel-2010