vba里面用beforvba close怎么用事件中不能使用open打开另一个工作薄

VBA在work_open事件里写的程序只在这个工作簿打开时有效还是在所有工作簿打开时有效_百度知道
VBA在work_open事件里写的程序只在这个工作簿打开时有效还是在所有工作簿打开时有效
我有更好的答案
你说的是Workbook_Open吧,仅打开本工作簿有效。(否则就乱了套了,已试过)
采纳率:35%
这个VBA中使用workopen事件只能对当前打开的工作不进行操作但是对于VBA当中,你完全可以吧整个工作簿的内容放到一个二维数组当中,然后你想什么时候操作都行,而且如果数据量大建议使用数组,在缓存中运行会快很多很多
只在代码所在的工作簿有效。
为您推荐:
其他类似问题
vba的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。VBA怎样在一个文件夹中依次打开所有的工作簿_百度知道
VBA怎样在一个文件夹中依次打开所有的工作簿
我具体想知道VBA中,可不可以通过 For Each In .......next.所以我想知道是否可以通过这种方式打开,workbooks 的上一级是什么。
如果没有直接的上一级,可不可以通过某种方式得到。
如果这种方式打不开,可以通过怎样的方式打开。
打开顺序只是按照普通的...
我有更好的答案
参考下面的代码:Dim xlBook As Excel.WorkbookDim xlSheet As Excel.WorksheetApplication.ScreenUpdating = False
If MsgBox(&需要操作的数据表是:EXCEL2003 格式,请选择:是!& & Chr(13) & && & Chr(13) & &需要操作的数据表是:EXCEL2007 格式,请选择:否!&, vbYesNo, &北极狐提示!!&) = vbYes Then
S = &\*.xls&
S = &\*.xlsx&
F = Dir(ThisWorkbook.Path & S)
Do While F & & &
If F && ThisWorkbook.Name Then
Set xlBook = Workbooks.Open(ThisWorkbook.Path & &\& & F) '打开已经存在的EXCEL工件簿文件
For Each sh In xlBook.Worksheets '遍历工作表
'自己的代码
Windows(ThisWorkbook.Name).Activate'回到打开的工作簿
Windows(F).Close (true)'关闭打开的工作簿,并保存。
Application.ScreenUpdating = True
采纳率:82%
来自团队:
Sub&打开()&Dim&myPath$,&myFile$,&AK&As&WorkbookApplication.ScreenUpdating&=&False&'冻结屏幕,以防屏幕抖动&myPath&=&&c:\a\&&'在这里输入你的路径,即你存放工作簿的文件夹&myFile&=&Dir(myPath&&&&*.xlsx&)&'依次找寻指定路径中的*.xlsx文件&Do&While&myFile&&&&&&&'当指定路径中有文件时进行循环&If&myFile&&&&ThisWorkbook.Name&Then&Set&AK&=&Workbooks.Open(myPath&&&myFile)&'打开符合要求的文件&End&If&'在这里插入你要处理的代码AK.close'这里可以选择参数是否保存,你也可以删除这行代码,手动关闭文件myFile&=&Dir&'找寻下一个*.xlsx文件&Loop&Application.ScreenUpdating&=&True&'解除冻结屏幕,此类语句一般成对使用&End&Sub
本回答被网友采纳
为您推荐:
其他类似问题
vba的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。excel中这些功能在哪?“工作簿打开事件、关闭事件,工作表事件”_百度知道
excel中这些功能在哪?“工作簿打开事件、关闭事件,工作表事件”
我有更好的答案
用Alt+F11进入VBA编辑器,用Ctrl+R打开工程资源管理器,双击“ThisWorkbook”,在编辑器上方有两个下拉列表框,一个选择对象,一个选择事件,分别选“Workbook”和“Open”就可对工作簿打开事件进行编程了。若在事件下拉列表框选择“BeforeClose”,就可对工作簿将要关闭的事件编程。类似地,在工程资源管理器,双击“Sheet1”,在编辑器上方有两个下拉列表框,一个选择对象,一个选择事件,分别选“Worksheet”和“SelectionChange”就可对Sheet1的SelectionChange事件进行编程了。如此等等......。
采纳率:50%
应该在excel左上角的Microsoft按钮打开在选项中
为您推荐:
其他类似问题
您可能关注的内容
excel的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。EXCEL VBA 所有工作薄OPEN事件_百度知道
EXCEL VBA 所有工作薄OPEN事件
我有一段代码,需要加载到this workbook中,希望在本台电脑上,只要打开任何一个EXCEL表,全将这个代码自动加载到this workbook,我记的这个模块应该放在C盘的一个文件夹中,但是忘记了,请高手指点,如何可以实现?
我有更好的答案
提问者采纳如果,我说的是如果,不存在workbook的open事件代码和Sheet1的Activate事件,那么工作簿被隐藏很有可能是曾经使用GetObject方法打开过并保存了。这种情况下,只要正常打开(比如双击)后,在VBA的立即窗口输入一次workbooks(&文件名全称&).Windows(1).Visible=True,并保存一次,以后就能正常了如果,存在Open事件的代码,那就酌情修改取消隐藏
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。VBA 中,excel把一个工作簿的值发送到另一个工作簿_百度知道
VBA 中,excel把一个工作簿的值发送到另一个工作簿
我说的是工作簿不是sheet!,请问用什么函数和代码,怎么写,谢谢!
我有更好的答案
这个应该不叫“发送”,而是写入到或记录到其它工作薄  首先,要写入到其它的工作薄,就必须用代码打开那个工作薄,要打开那个工作薄,就必须知道那个工作薄的完事的路径和名称。如:  workbooks(&这里是完事的路径和名称&).open  或者,调用windows的文件打开窗口来指定文件,如:
Filename  Filename = Application.GetOpenFilename(&Excel 文件 ,*.*.xlsx&)  workbooks(Filename).open  接下来才是,数据的写入过程。如,将当前工作薄的sheet1的A1单元格写入到刚刚打开的文件的sheet1的A1单元格:  workbooks(Filename).sheets&sheet1&).range(&A1&)=thisworkbook.sheets(sheet1).range(&A1&)  
原来非要打开才行啊.我以为可以通过代码直接在后台给另外一个工作薄赋值,如果是这样的话那还不如直接在另外的一个工作薄用公式对等!
采纳率:63%
来自团队:
为您推荐:
其他类似问题
excel的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 layer.open close事件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信