返回首页
当前位置: 主页 > Excel教程 > Excel VBA教程 >

利用VBA列出工作表中的所有公式

时间:2012-07-14 22:05来源:Office教程学习网 www.office68.com编辑:麦田守望者

如果我们要查看一个工作表中的所有公式,可以用VBA来实现。下面的VBA代码可以在工作簿中插入一个新工作表,并在其中列出指定工作表中的所有公式、公式所在单元格及其值。使用方法是将VBA代码放入标准模块中,选择一个工作表,然后执行代码。

Sub ListFormulas()
Dim FormulaCells As Range, Cell As Range
Dim FormulaSheet As Worksheet
Dim Row As Integer

'创建Range对象
On Error Resume Next
Set FormulaCells = Range("A1").SpecialCells(xlFormulas, 23)

'没有找到公式
If FormulaCells Is Nothing Then
MsgBox "当前工作表中没有公式!"
Exit Sub
End If

'增加一个新工作表
Application.ScreenUpdating = False
Set FormulaSheet = ActiveWorkbook.Worksheets.Add
FormulaSheet.Name = "“" & FormulaCells.Parent.Name & "”表中的公式"

'列标题
With FormulaSheet
Range("A1") = "公式所在单元格"
Range("B1") = "公式"
Range("C1") = "值"

Range("A1:C1").Font.Bold = True
End With

'读取公式,同时在状态栏中显示进度。
Row = 2
For Each Cell In FormulaCells
Application.StatusBar = Format((Row - 1) / FormulaCells.Count, "0%")
With FormulaSheet
Cells(Row, 1) = Cell.Address _
(RowAbsolute:=False, ColumnAbsolute:=False)
Cells(Row, 2) = " " & Cell.Formula
Cells(Row, 3) = Cell.Value
Row = Row + 1
End With
Next Cell

'调整列宽
FormulaSheet.Columns("A:C").AutoFit
Application.StatusBar = False
End Sub

------分隔线----------------------------
标签(Tag):excel excel2007 excel2010 excel2003 excel技巧 excel教程 excel实例教程 excel2010技巧
------分隔线----------------------------
推荐内容
猜你感兴趣