作者:乔山办公网日期:
返回目录:excel表格制作
没有直接的解决百办法.
换一种思路吧.
在关度闭窗体事件加入:
Application.ScreenUpdating = False'取消Excel刷新
Sheet1.Range("A65536").Select'关闭窗体后知,自动选择另一个固定单道元内格
Application.ScreenUpdating = True'恢复Excel刷新
然后在Worksheet_SelectionChange事件中,加入
if Target.Address(0, 0)="A65536" then exit sub '如果是容自动选择的单元格就退出事件
BeforeDragOver 事件 当拖放操作正在进行时 触发。
有多种窗体控件支持此事件,参数稍有不同。
以下是此事件的一个示例:
1、建立一个窗体,并放置两个 ListBox 控件(ListBox1 和 ListBox2)。
2、为示例方便,设置了 ListBox1 的 RowSource 属性,添加一些数据:
3、编写代码:
Private Sub ListBox2_BeforeDragOver(ByVal Cancel As _
MSForms.ReturnBoolean, ByVal Data As _
MSForms.DataObject, ByVal X As Single, _
ByVal Y As Single, ByVal DragState As Long, _
ByVal Effect As MSForms.ReturnEffect, _
ByVal Shift As Integer)
Cancel = True
Effect = 1
End Sub
Private Sub ListBox2_BeforeDropOrPaste(ByVal _
Cancel As MSForms.ReturnBoolean, _
ByVal Action As Long, ByVal Data As _
MSForms.DataObject, ByVal X As Single, _
ByVal Y As Single, ByVal Effect As _
MSForms.ReturnEffect, ByVal Shift As Integer)
Cancel = True
Effect = 1
ListBox2.AddItem Data.GetText
End Sub
Private Sub ListBox1_MouseMove(ByVal Button As _
Integer, ByVal Shift As Integer, ByVal X As _
Single, ByVal Y As Single)
Dim MyDataObject As DataObject
If Button = 1 Then
Set MyDataObject = New DataObject
Dim Effect As Integer
MyDataObject.SetText ListBox1.Value
Effect = MyDataObject.StartDrag
End If
End Sub
运行效果如图:
在左边的 ListBox1 某条目上,按下鼠标左键,并拖动到右边的 ListBox2 中:e799bee5baa6e997aee7ad94e59b9ee7ad94330
最好把代码贴出来看看。你的窗体加载时是不是有代码去更新这个组合框了?正常不会有你这样的状况发生的。
Private Sub TextBox2_Enter()
TextBox2.Value = TextBox1.Value
End Sub
Excel的VBA窗体中,文百本框的Enter事件相当度于VB6.0里面的GotFocus事件!
通过以上代版码,就可以当TextBox2获得焦点的时候,自动复制TextBox1的内容权!!