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

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

工具/原料

  • excel2016

方法/步骤

  1. 1

    首先我们打开一个工作样表作为例子。

  2. 2

    打开vba编辑器,并且插入一个新的模块,并输入以下代码:

    Sub 历遍单元格公式()

        Dim wb1 As Workbook, ws1 As Worksheet

        Dim rng As Range, rng1 As Range

        

        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

                End If

            End With

        Next

    End Sub

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

    先写到这里了,谢谢大家的观看。

    祝大家生活愉快。

    小编还有许多其他的经验可以观看,如果无法解决问题可以联系小编进行咨询。

    看不清楚图片的可以点击放大再看哦。

注意事项

  • msgbox代码中有一处错误,大家可以试着找一下。
  • 发表于 2018-02-08 00:00
  • 阅读 ( 346 )
  • 分类:其他类型

相关问题

0 条评论

请先 登录 后评论