|
技巧167输入时逐步提示信息有部分网友提出了一些问题和改进意见,主要有以下几点:
1、在点击A列单元格时选择的是工作表中的单元格而不是文本框,所以需要再次点击下文本框才能运行代码。增加激活文本框的代码。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'....................................
With Me.TextBox1
.Visible = True
.Top = Target.Top
.Left = Target.Left
.Width = Target.Width
.Height = Target.Height
.Activate
'.................................
End Sub
2、文本框输入完毕,回车后直接激活列表框使用方向键选择相应的条目回车后输入到单元格中,添加以下代码。
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then
Sheet1.ListBox1.Activate
End If
End Sub
文本框的KeyDown事件,在按下<Enter>键后激活列表框。
Private Sub ListBox1_GotFocus()
ListBox1.ListIndex = 0
End Sub
列表框的GotFocus事件,当列表框控件获得输入焦点时将选中第一个列表项。
Private Sub ListBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then
ActiveCell.Value = ListBox1.Value
Me.ListBox1.Clear
Me.TextBox1 = ""
Me.ListBox1.Visible = False
Me.TextBox1.Visible = False
End If
End Sub
列表框的KeyDown事件,在按下<Enter>键后将所选中的条目写入到工作表的活动单元格中。
[ 本帖最后由 yuanzhuping 于 2009-2-16 10:06 编辑 ] |
|