How do I display a list of cells and their values or formulas

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Those of you who remember SuperCalc also remember that you could get a list
of every cell in the spreadsheet and what was in that cell.
It made a realy long list if you had a large spreadsheet and printed it all
but was very handy in debugging.
Does Excel have a similar feature, and how do you get to it if it does?
 
Tools Options View Check Formula box


: Those of you who remember SuperCalc also remember that you could get a list
: of every cell in the spreadsheet and what was in that cell.
: It made a realy long list if you had a large spreadsheet and printed it all
: but was very handy in debugging.
: Does Excel have a similar feature, and how do you get to it if it does?
:
 
Calc

Are you up for a macro?

Sub ListFormulas()
'from John Walkenbach
Dim FormulaCells As Range, Cell As Range
Dim FormulaSheet As Worksheet
Dim Row As Integer
Dim ws As Worksheet
' Create a Range object for all formula cells
On Error Resume Next
Set FormulaCells = Range("A1").SpecialCells(xlFormulas, 23)

' Exit if no formulas are found
If FormulaCells Is Nothing Then
MsgBox "No Formulas."
Exit Sub
End If

' Add a new worksheet
Application.ScreenUpdating = False
Set FormulaSheet = ActiveWorkbook.Worksheets.Add
FormulaSheet.Name = "Formulas in " & FormulaCells.Parent.Name

' Set up the column headings
With FormulaSheet
Range("A1") = "Address"
Range("B1") = "Formula"
Range("C1") = "Value"
Range("A1:C1").Font.Bold = True
End With

' Process each formula
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

' Adjust column widths
FormulaSheet.Columns("A:C").Cells.WrapText = True ''AutoFit
Application.StatusBar = False
End Sub


Gord Dibben Excel MVP
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top