Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2327|回复: 4

[已解决]怎么排除多个文件执行VBA?

[复制链接]
发表于 2009-9-12 21:36 | 显示全部楼层 |阅读模式

可以利用If ActiveWorkbook.Name <> ThisWorkbook.Name Then来控制排除当前VBA所在文件进行执行VBA脚本,怎么排除更多个有明确名称的文件执行VBA?比如自动关闭除当前文件、file1.xls、file2.xls三个文件以外的文件,怎么设置?

最佳答案
2009-9-13 21:29

Option Explicit

Sub aa()
    Dim B As Integer        '标志值
    Dim arr                 '存放规则
    Dim i As Integer
    Dim wk As Workbook
   
    '确定标准
    arr = Array("file1.xls", "file2.xls", "file3.xls")

    For Each wk In Workbooks
   
        '循环判断,确定标志值B
        For i = 0 To UBound(arr)
            If wk.Name = arr(i) Then
                B = 1
                Exit For
            End If
        Next i
       
        '根据B,判断是否关闭
        If B = 0 Then
            wk.Close savechanges:=True  '保留所有对此工作簿的更改.
        End If
       
        B = 0
    Next wk
End Sub

[此贴子已经被作者于2009-9-13 21:52:06编辑过]
发表于 2009-9-13 21:29 | 显示全部楼层    本楼为最佳答案   

Option Explicit

Sub aa()
    Dim B As Integer        '标志值
    Dim arr                 '存放规则
    Dim i As Integer
    Dim wk As Workbook
   
    '确定标准
    arr = Array("file1.xls", "file2.xls", "file3.xls")

    For Each wk In Workbooks
   
        '循环判断,确定标志值B
        For i = 0 To UBound(arr)
            If wk.Name = arr(i) Then
                B = 1
                Exit For
            End If
        Next i
       
        '根据B,判断是否关闭
        If B = 0 Then
            wk.Close savechanges:=True  '保留所有对此工作簿的更改.
        End If
       
        B = 0
    Next wk
End Sub

[此贴子已经被作者于2009-9-13 21:52:06编辑过]
回复

使用道具 举报

 楼主| 发表于 2009-9-14 23:01 | 显示全部楼层

非常感谢,终于看到有人解答了。今天我还在那里想是不是要考虑一个文件一个if语句去屏蔽呢。

If ActiveWorkbook.Name <> Workbooks("文件名").Name Then 这样一层层嵌套进去,不知道是否可行。

我看你用arr = Array("file1.xls", "file2.xls", "file3.xls")来定义文件,我在想为了是否可以通过从文本框控件或者固定一列excel表格获取内容,以使得我们的程序功能的灵活实用。一会我再把这个问题当做一个专门的问题提出来,有什么高见,还是麻烦您来指导一下,因为这个我也只还是想到,还不知道怎么实现呢。

再次感谢!

回复

使用道具 举报

发表于 2009-9-15 05:19 | 显示全部楼层

学习[em02][em02]
回复

使用道具 举报

发表于 2009-9-15 09:07 | 显示全部楼层

爱疯师姐的水平越来越高了,学习一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 22:37 , Processed in 0.565037 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表