Formula View-Follow Up

Rayne
Rayne used Ask the Experts™
on
This is follow up to this previous question
http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Excel/Q_27977620.html#a38724213

How can the formula components be listed in a dynamic way, assuming there are 18 components?

Thanks
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Hi, Rayne.

Please let us know the address range of the 18 components - assuming that the actual formulas are in D8 to D30 and the results are in F8 to F30

Thanks,
Brian.
Rayne,

In the attached, I've assumed that you simply pushed the components down to make room for the extra formulas. The code is...
Option Explicit

Const XFORMULAS = "D8:D30"
Const XCOMPONENTS = "C32:C49"

Private Sub Worksheet_Change(ByVal Target As Range)
Dim xCell   As Range
Dim xArray  As Variant
Dim xLoaded As Boolean
Dim xHold   As String
Dim i       As Long

If Intersect(Target, Union(Range(XFORMULAS), Range(XCOMPONENTS))) Is Nothing Then Exit Sub

Application.EnableEvents = False
Application.ScreenUpdating = False

    For Each xCell In Range(XFORMULAS)
        xHold = xCell.Formula
        If Mid(xHold, 1, 1) = "=" Then
            If Not xLoaded Then
                xArray = WorksheetFunction.Transpose(Range(XCOMPONENTS).Value)
                xLoaded = True
            End If
            For i = 1 To UBound(xArray)
                If xArray(i) <> "" Then xHold = Replace(xHold, Replace(Range("D31").Offset(i, 0).Address, "$", ""), xArray(i))
            Next
            xCell.Offset(0, 2) = "'" & xHold
        Else
            xCell.Offset(0, 2) = ""
        End If
    Next

Application.ScreenUpdating = True
Application.EnableEvents = True

End Sub

Open in new window

Edit: Minor change to blank out a row's result if it has no formula.

Brian.readAndDisplyFormulas-V3.xlsm

Author

Commented:
Hello Brian,

Simply speaking –You Rock.  ALL Hats off to you!!
Thanks for the effort you put in here.

Thank you :)

Author

Commented:
Perfect Solution!!
Thanks, Rayne. Glad you're sorted!

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial