Vba Excel用户表单文本框常量设置焦点
首先,我要感谢你们所有人。也许你没有注意到,但你帮助我从零开始掌握VBA到了某种程度。我还在学习过程中,所以我可能错过了一些非常简单的东西,请温柔:) 首先,我想提供一个关于我的问题的小背景更新。我一直在写一个小程序来扫描我的工作,能够保持库存状态的来料部分。该程序的最新外观如下所示: 照片上的数字是我最近做的噩梦: 1。扫描零件号:这是扫描仪输入值的文本框。收到输入后,我立即将该数据转换为变量,并清除文本框值,如下所示:Vba Excel用户表单文本框常量设置焦点,vba,excel,listbox,userform,Vba,Excel,Listbox,Userform,首先,我要感谢你们所有人。也许你没有注意到,但你帮助我从零开始掌握VBA到了某种程度。我还在学习过程中,所以我可能错过了一些非常简单的东西,请温柔:) 首先,我想提供一个关于我的问题的小背景更新。我一直在写一个小程序来扫描我的工作,能够保持库存状态的来料部分。该程序的最新外观如下所示: 照片上的数字是我最近做的噩梦: 1。扫描零件号:这是扫描仪输入值的文本框。收到输入后,我立即将该数据转换为变量,并清除文本框值,如下所示: Private Sub PN_CurrentScan_KeyDown(
Private Sub PN_CurrentScan_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
EnteredPN = Replace(PN_CurrentScan.Value, Chr(32), "", 1) '<---PN_CurrentScan is the name of text box
EnteredPN = Left(EnteredPN, 12)
PN_CurrentScan.Value = ""
Me.PN_CurrentScan.SetFocus
Private Sub CurrentStatus_List_Click()
Me.PN_CurrentScan.SetFocus
End Sub
Private Sub CurrentStatus_List_Enter()
Me.PN_CurrentScan.SetFocus
End Sub
Private Sub CurrentStatus_List_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Me.PN_CurrentScan.SetFocus
End Sub
Private Sub CurrentStatus_Frame_Enter() '<-- Enter event of the frame which contains listbox
Me.PN_CurrentScan.SetFocus '<-- Setfocus to target textbox
Me.Scanned_Frame.SetFocus '<-- Setfocus to frame which contains target textbox
End Sub
Private Sub-CurrentStatus\u Frame\u Enter()”注意到两个控件都位于容器框架控件内,您可以使用包含列表框的框架的Enter
事件将焦点设置为包含文本框的框架,而不是文本框本身。尝试使用Enter
事件将焦点设置回文本框。您好,谢谢提醒。我已经试过了。我将相应地更新我的帖子。哪个版本的Excel-它适用于我的2010。我也在使用2010,这很奇怪。我们正在讨论列表框的Enter
事件,对吗?好的。与此同时,我想了想。从列表框的容器框架的Enter
事件中将焦点设置为包含文本框的框架。
Private Sub CurrentStatus_Frame_Enter() '<-- Enter event of the frame which contains listbox
Me.PN_CurrentScan.SetFocus '<-- Setfocus to target textbox
Me.Scanned_Frame.SetFocus '<-- Setfocus to frame which contains target textbox
End Sub