vba 回车触发事件

建立了一个窗体,然后里面有一个文本框。设定文本框等于一个数值时触发一系列的事件。现在的问题是,无法输入10以上的数字,因为输入一个个位数就会直接触发后面的事件。我在下面加... 建立了一个窗体,然后里面有一个文本框。
设定文本框等于一个数值时触发一系列的事件。现在的问题是,无法输入10以上的数字,因为输入一个个位数就会直接触发后面的事件。
我在下面加了一个确定按钮,可是不知道怎么实现在点击确定或者回车才触发事件的效果。
我刚开始用vba,多多帮忙了啊!!
谢谢!!
3楼 谢谢你的回答 可是我这个还是有点问题 我给你程序 你看下 回答了170都是你的 谢谢了!!!
Option Explicit

Private Sub Label1_Click()

End Sub

Private Sub 取消_Click()
Me.Hide
End Sub
Private Sub UserForm_Activate()
End Sub
Private Sub 确认_Click()
Call TextBox1_Change
Me.Hide
End Sub
Private Sub TextBox1_Change()
Dim i As Integer
For i = 1 To 100
If TextBox1.Text = Worksheets("数据").Cells(1, i) Then
Worksheets("数据").Select
Worksheets("数据").Cells(4, i - 1).Select
Sheets("图表").Select
ActiveChart.ChartType = xlLine
ActiveChart.SeriesCollection(1).Name = Worksheets("数据").Cells(3, i)
ActiveChart.SeriesCollection(1).Values = Range(Worksheets("数据").Cells(4, i), Worksheets("数据").Cells(5000, i))
ActiveChart.SeriesCollection(1).XValues = Range(Worksheets("数据").Cells(4, i - 1), Worksheets("数据").Cells(5000, i - 1))
End If
Next
Me.Hide
Sheets("图表").Activate
End Sub
展开
 我来答
ywjco
2009-02-10 · TA获得超过3883个赞
知道大有可为答主
回答量:1877
采纳率:50%
帮助的人:1077万
展开全部
可以使用Call函数调用你原来由文本框所定义的过程:

可以这样写:

Sub 按钮1_单击()
call TXT_change()
End Sub
这个TXT_change()的SUB就是你由文本框所定义的过程

' 调用一个子过程。
Call PrintToDebugWindow("Hello World")
' 上面的语句将控制转移到下面的子过程。
Sub PrintToDebugWindow(AnyString)
Debug.Print AnyString ' 在“立即”窗口中显示。
End Sub
曲佳鸣
2009-02-10 · TA获得超过133个赞
知道答主
回答量:13
采纳率:0%
帮助的人:0
展开全部
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.MoveAfterReturn = xlDown Then
If Target.Row = 3 And Target.Column = 1 Then
Cells(Target.Row - 1, 2) = "A"
End If
End If
End Sub
因为这个事件的target参数指的现在所选择的位置,而你是要得到上个单元格的位置,所以变通一下,如果现在选择的是A3,说明上一个单元格是A2.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友63acc20
2009-02-10 · TA获得超过2128个赞
知道小有建树答主
回答量:450
采纳率:0%
帮助的人:165万
展开全部
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.MoveAfterReturn = xlDown Then
If Target.Row = 3 And Target.Column = 1 Then
Cells(Target.Row - 1, 2) = "A"
End If
End If
End Sub
因为这个事件的target参数指的现在所选择的位置,而你是要得到上个单元格的位置,所以变通一下,如果现在选择的是A3,说明上一个单元格是A2.

这里还可以进一步细化,判断Application.MoveAfterReturn 属性,将每一种情况都考虑进去。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hongweizhu
推荐于2017-12-16 · TA获得超过743个赞
知道小有建树答主
回答量:875
采纳率:0%
帮助的人:675万
展开全部
用textbox的exit事件
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
MsgBox "enter OK"
End Sub
这个可以很好的按你的要求回车触发的。前提是,你的窗体中至少有二个控件,否则无法实现。
Private Sub TextBox1_AfterUpdate()
MsgBox "TextBox1_AfterUpdate OK"
End Sub
用TextBox1_AfterUpdate事件也可实现你想要的功能的。

用确定按键可以下面的事件中加代码
Private Sub CommandButton1_Click()
MsgBox "CommandButton1_Click OK"
End Sub

要想真正实现enter回车功能的话,我在VBA中没有做过,但是在VB中做过,这个就有点和难了,VBA不一定有这个功能的。
编程不一定一定要用想用的事件,能实现相当的功能就行了。如是是想真那个功能则另当别论了

有机会到我主页看看,那上面有程序介绍的,不可以下载使用。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式