
提问者采纳如果,我说的是如果,不存在workbook的open事件代码和Sheet1的Activate事件,那么工作簿被隐藏很有可能是曾经使用GetObject方法打开过并保存了。这种情况下,只要正常打开(比如双击)后,在VBA的立即窗口输入一次workbooks("文件名全称")Windows(1)Visible=True,并保存一次,以后就能正常了如果,存在Open事件的代码,那就酌情修改取消隐藏
在控件组合框change事件下的vba 赋值语句为
Private Sub aa_ComboBox_Change()
aa_ComboBoxList = Worksheets("data")Range("aa")Value
End Sub
将代码加进Workbook_Open事件即可,打开时添加OK
少了END IF(不过相信不是这个问题)
我觉得程序触发应该不是问题,不管你改动过没有,如果执行Save *** 作一定会触发的。。
问题可能是,修改了工作簿以后,未执行保存的情况下,点击关闭文档,系统会提示是否保存,如果回答不保存当然毫无疑议直接就退出了。。但是如果回答保存的情况下,你的过程被触发但是没能提供正确的密码时,虽然Cancel=True停止了Save的行为,但是没能cancel关闭动作而继续了文档的关闭动作。。。当然,如果这是你的期望结果的话,那就没有任何问题的了。。不过,,如果文档被修改后 *** 作者的原意可能并不想未保存就退出,那你的退出就比较突兀了。
如图,一般加个IF来判断当前单元格量是否是指定的单元格,是就执行代码。
Private Sub Worksheet_Change(ByVal Target As Range)If TargetAddress = "$A$1" Then
[a2] = [a2] + 1
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If TargetColumn = 1 Then
TargetOffset(0, 1) = ""
End If
End Sub
把下面子程序中的代码加入到workbook-open()事件中:
Sub aaa()
Dim t, d, n, dh, c
t = 0
d = Replace(Date, "-", "")
n = ThisWorkbookSheets("数据库")Range("a65536")End(xlUp)Row
For Each c In Range("a3:a" & n)
dh = Left(c, 8)
If dh = d Then
t = 1
num = 1 & Right(c, 3)
End If
Next c
If t = 1 Then
ThisWorkbookSheets("面板")Range("h2") = d & "-" & Right(num + 1, 3)
Else:
ThisWorkbookSheets("面板")Range("h2") = d & "-001"
End If
End Sub
以上就是关于EXCEL VBA 所有工作薄OPEN事件全部的内容,包括:EXCEL VBA 所有工作薄OPEN事件、Excel VBA程序开发、对组合框进行赋值的程序应该写在什么事件中、excel vba BEFORESAVE事件问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)