我想隐藏任务栏中的Excel按钮,并为我的用户窗体显示一个单独的按钮,使其感觉就像一个应用程序.我知道这已经被覆盖了很多,但我遇到了一个特定的问题:我的代码在我单步执行时工作正常,但如果我让它正常运行则不行.这是我在Userform1的类模块中放置的代码:
Option Explicit
Private Declare Function GetWindowLong _
Lib "user32" _
Alias "GetWindowLongA" ( _
ByVal hWnd As Long, _
ByVal nIndex As Long) _
As Long
Private Declare Function SetWindowLong _
Lib "user32" _
Alias "SetWindowLongA" ( _
ByVal hWnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) _
As Long
Private Declare Function DrawMenuBar _
Lib "user32" ( _
ByVal hWnd As Long) _
As Long
Private Declare Function FindWindowA _
Lib "user32" ( …Run Code Online (Sandbox Code Playgroud) 考虑
Dim u As Variant, v() As Variant
u = Range("A1:B3").Value
v = Range("A1:B3").Value
Run Code Online (Sandbox Code Playgroud)
你和v之间现在有什么区别吗?如果不是,将v声明为变量数组而不是将其简单地声明为变体是否是多余的?
我有一个在用户窗体的类模块中声明的 ADO 记录集变量。记录集在表单的 Activate 事件中打开,我试图在表单的 Terminate 事件中使用如下代码关闭它:
Private Sub UserForm_Terminate()
If VersionIsReleased Then
ThisWorkbook.Parent.Quit
Else
If Not m_rs Is Nothing Then
If m_rs.State = adStateOpen Then
m_rs.Close
End If
Set m_rs = Nothing
End If
Close_CN g_cn
ThisWorkbook.Application.Visible = True
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
该行m_rs.Close产生一个运行时错误:“在此上下文中不允许操作。”。任何想法为什么会发生这种情况?
我在用户窗体上有一个多页控件。当用户导航到新页面时,我希望将当前页面上的数据保存到数据库中。用户可以通过各种方式在页面之间导航,我不想为所有这些页面编写一个过程。在选择新页面之前,是否有可以用来引用活动页面的事件?
我查看了多页控件的 Change 事件,但如果您在其中引用 multipage.selecteditem,它指的是新页面。我需要的是 BeforeChange 事件,但没有。
我还查看了 multipage.exit 事件,但它会在退出整个多页控件时触发,而不仅仅是一个页面。
有任何想法吗?
由于与读取和写入单元格相关的开销,我不是在谈论Excel VBA中的慢循环.我所说的是使用变量/数组循环"在内存中".