excel中使用vba历遍工作表中所有工作薄的方法

小编致力于为大家奉献最有效的经验 , 让大家能够解决掉问题 , 但是大家也都知道 , 每个人遇到的情况都是不一样的 , 大家在看小编经验的同时 , 除了跟随操作 , 也需要自己的思考 , 举一反三的解决问题 , 这样才会变得更加有内涵 , 成为和小编一样的经验达人 。 excel中使用vba历遍工作表中所有工作薄的方法 , 这里 , 让小编给大家介绍一下 。

excel中使用vba历遍工作表中所有工作薄的方法

文章插图
工具/原料excel2016

方法/步骤1首先我们打开一个工作样表作为例子 。

excel中使用vba历遍工作表中所有工作薄的方法

文章插图

2打开vba编辑器 , 并且插入一个新的模块 , 并输入以下代码:
Sub 历遍单元格公式()
    Dim wb1 As Workbook, ws1 As Worksheet
    Dim rng As Range, rng1 As Range
【excel中使用vba历遍工作表中所有工作薄的方法】    
    For Each wb1 In Workbooks
        With wb1
            If MsgBox("是否删除工作簿"" & wb1.Name & ""中的所有公式?", _
                vbQuestion + vbYesNo) = vbYes Then
                For Each ws1 In .Worksheets
                    On Error Resume Next
                    Set rng1 = ws1.UsedRange.SpecialCells(xlCellTypeFormulas)
    '获取公式单元格区域引用
                   
                Next
            If
        With
    Next
Sub

excel中使用vba历遍工作表中所有工作薄的方法

文章插图

3这里我们定义wb1变量为工作表 , ws1变量为工作薄 , rng变量为活动单元格区域 。

excel中使用vba历遍工作表中所有工作薄的方法

文章插图

4历遍工作表中所有的工作薄 , with wb1是指代当前工作表 , 简化了后面的代码 , 完整的写出来是这样的wb1.worksheets. vbQuestion是在msgbox中显示一个问号符号 。 而vbyesno是显示两个确定选择按钮 。

excel中使用vba历遍工作表中所有工作薄的方法

文章插图

5接下来历遍工作表中的所有工作薄 。 On Error Resume Next语句的含义是如果发生错误继续执行而不是中断过程 。 set rng1变量为所有的含有公式的单元格 。

excel中使用vba历遍工作表中所有工作薄的方法

文章插图

6我们试运行这个宏过程 , 得出的结果并没有输出 。 我添加一个输出语句msgbox = ws1.name , 大家看一下结果 。

excel中使用vba历遍工作表中所有工作薄的方法

文章插图

7先写到这里了 , 谢谢大家的观看 。
祝大家生活愉快 。
小编还有许多其他的经验可以观看 , 如果无法解决问题可以联系小编进行咨询 。
看不清楚图片的可以点击放大再看哦 。

注意事项msgbox代码中有一处错误 , 大家可以试着找一下 。

推荐阅读