作者waiter337 (给开司一罐苏格登)
看板Office
标题[算表] 表单 文字方块 enter事件 第一时间 不动
时间Sat Oct 15 19:31:47 2016
软体:
版本:
想问一下表单事件中 当我在textbox101输入文字後按下enter
他会在textbox102 输入查询的讯息
但在测试上
按下enter後第一时间并没有显示,
而是得在用滑鼠点一下表单任一处,他才会执行运算
假如用keypress事件该如何设置,
是否得先在userfrom下面先宣告某些事件?
Private Sub TextBox101_Enter()
If TextBox101.text <> "" Then
Zrowe = 1
Zrowe = Sheets("新旧车牌连结库").Columns(5).Find(What:="*", LookIn:=xlValues,
SearchDirection:=xlPrevious).Row + 1
ZrowNow = 1
While Zrowe > ZrowNow
rng1 = UCase(TextBox101.Value)
If Sheets("新旧车牌连结库").Cells(ZrowNow, 5) = rng1 Then
TextBox102.text = Sheets("新车资料").Range("d" & ZrowNow).Value
Exit Sub
End If
ZrowNow = ZrowNow + 1
Wend
End If
If TextBox101.text <> "" Then
MsgBox "查无资料"
End If
End Sub
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.35.158.244
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1476531110.A.766.html
忘了补充
本来想用change事件
但我需求的是输入车牌(字数也不稳定)
每变更一个字他就跑一次
程式跑很久0.0
但我一开始程式是本身有错会卡住
※ 编辑: waiter337 (114.35.158.244), 10/15/2016 19:35:16
1F:→ soyoso: 如以keydown的事件,加上判断当keycode=13时执行 10/15 19:52
感谢s大回应 google上有查到用keydown keycod=13 'enter码
但我有点不知道如何去修改这样的情况
是否该把
Private Sub TextBox101_Enter()
改成
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If (KeyCode.Value = 13) Then
TextBox2.SelStart = 0
TextBox2.SelLength = TextBox2.TextLength
End If
GoTo TextBox101_Enter
End Sub
昨天我研究了一整晚= = 还是失败
※ 编辑: waiter337 (114.35.158.244), 10/15/2016 19:55:42
3F:→ soyoso: enter值传至textbox2 10/15 20:02
4F:→ soyoso: textbox1 10/15 20:03
5F:→ waiter337: 还是没办法 可能我程式要在检查一下 10/15 20:40
6F:→ waiter337: 或者可否执行 滑鼠点击文字方块这个动作0.0 10/15 20:40
7F:→ waiter337: 这样就会跑了 10/15 20:40
10F:→ waiter337: 太棒啦 感谢指点 10/15 22:44
11F:→ waiter337: 最後我发现,之前有个Private Sub TextBox101_Keydown 10/15 22:47
12F:→ waiter337: 没删掉,就不动了xddddddd 10/15 22:47
13F:→ waiter337: 另外可以请教一下,能选择文字方块的函数是什麽吗? 10/15 22:48
14F:→ waiter337: setfoucs 会变成锁住 textbox1.activate 没效果 10/15 22:49
15F:→ waiter337: textbox1.select 也没效果 因为我想要查出讯息後 10/15 22:50
16F:→ waiter337: 把 萤幕上输入的"|" 移到textbox201 10/15 22:51
18F:→ waiter337: 真的可以了=,= 我见鬼了 感谢s大 10/15 23:10
19F:→ waiter337: 应该是我第一次用,没有做单纯的test导致误导 谢谢s大 10/16 18:43
20F:→ waiter337: 费心指导 10/16 18:43