vba 回车触发事件

来源:百度知道 编辑:UC知道 时间:2024/06/04 21:00:28
建立了一个窗体,然后里面有一个文本框。
设定文本框等于一个数值时触发一系列的事件。现在的问题是,无法输入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), Work

用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不一定有这个功能的。
编程不一定一定要用想用的事件,能实现相当的功能就行了。如是是想真那个功能则另当别论了

有机会到我主页看看,那上面有程序介绍的,不可以下载使用。

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 属性