Solved

Formula View-Follow Up

Posted on 2012-12-27
5
394 Views
Last Modified: 2012-12-27
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
0
Comment
Question by:Rayne
  • 3
  • 2
5 Comments
 
LVL 26

Expert Comment

by:redmondb
ID: 38724774
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.
0
 
LVL 26

Accepted Solution

by:
redmondb earned 500 total points
ID: 38724929
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
0
 

Author Comment

by:Rayne
ID: 38725491
Hello Brian,

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

Thank you :)
0
 

Author Closing Comment

by:Rayne
ID: 38725492
Perfect Solution!!
0
 
LVL 26

Expert Comment

by:redmondb
ID: 38725553
Thanks, Rayne. Glad you're sorted!
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Entering a date in Microsoft Access can be tricky. A typo can cause month and day to be shuffled, entering the day only causes an error, as does entering, say, day 31 in June. This article shows how an inputmask supported by code can help the user a…
This article will guide you to convert a grid from a picture into Excel format using Microsoft OneNote and no other 3rd party application.
Graphs within dashboards are meant to be dynamic, representing data from a period of time that will change each time the dashboard is updated with new data. Rather than update each graph to point to a different set within a static set of data, t…
This Micro Tutorial will demonstrate how to use a scrolling table in Microsoft Excel using the INDEX function.

790 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question