If Target.Count >1 Then Exit Sub
If Target.Column = 10 Then '指定只在第10列使用这个效果
If Target.Value = 1 Then '如果单元格的值等于1,
Target.Value = "生产领料" '显示为"生产领料"
ElseIf Target.Value = 2 Then
Target.Value = "非生产领料"
ElseIf Target.Value = 3 Then
Target.Value = "采购退货"
ElseIf Target.Value = 4 Then
Target.Value = "其他出库"
ElseIf Target.Value = 5 Then
Target.Value = "生产退料"
End If
End If
End Sub
要真正不触发事件,比较麻烦,需要调用API,截获该消息,其实你可以在text1_change中加条件,比如定义一个布尔型全局变量Dim isRun as Boolean在form_load 中给isRun赋直为 isRun = trueprivate sub text_ change()
if isRun = true then
'在这里写你要的代码
end if
end sub
然后在那个不让text1.change触发事件的sub中这样写
比如你那个sub过程名为xxx()
sub xxx()
isRun = false
'下面写你的代码
'写完你的代码后记得还原isRun的值
isRun = true '这句不能少
end sub
这样处理,我想能满足你的要求,也没必要去调用API
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)