Spreadsheet Models for Managers

Getting Access to Spreadsheet Models for Managers

If Spreadsheet Models for Managersyou use Excel to model businesses, business processes, or business transactions, this course will change your life. You’ll learn how to create tools for yourself that will amaze even you. Unrestricted use of this material is available in two ways.

As a stand-alone Web site
It resides on your computer, and you can use it anywhere. No need for Internet access.
At this Web site
If you have access to the Internet whenever you want to view this material, you can purchase on-line access. Unlimited usage. I’m constantly making improvements and you’ll get them as soon as they’re available.

To Order On Line

Order "Spreadsheet Models for Managers, on-line edition, one month" by credit card, for USD 69.95 each, using our secure server, and receive download instructions by return email.
Order "Spreadsheet Models for Managers, on-line edition, three months" by credit card, for USD 199.00 each, using our secure server, and receive download instructions by return email.
Order "Spreadsheet Models for Managers, downloadable hyperbook edition" by credit card, for USD 199.00 each, using our secure server, and receive download instructions by return email.

To Order by Mail

Make your check payable to Chaco Canyon Consulting, for the amount indicated:
  • For the download: USD 199.00
  • For access online for three months: USD 199.00
  • For access online for one month: USD 69.95
And send it to:
Chaco Canyon Consulting
700 Huron Avenue, Suite 19C
Cambridge, MA 02138

To use the course software you’ll need some other applications, which you very probably already have. By placing your order, you’re confirming that you have the software you need, as described on this site.

Spreadsheet Models for Managers

Example 1: Add two 3x3 arrays 14/3
Session Links
  • Returns the sum of two 3x3 ranges
  • This works, but it’s unnecessary: Excel can already do this
  • Let’s see how we built it
Function ArraySum(rng1 As Range, _
                  rng2 As Range) As Variant
    Dim i As Integer, j As Integer 'iteration variables
    Dim answerArray As Variant
    ReDim answerArray(3, 3)
    For i = 1 To 3
        For j = 1 To 3
            answerArray(i, j) = _
                rng1.Cells(i, j) + rng2.Cells(i, j)
        Next j
    Next i
    ArraySum = answerArray
End Function

This example illustrates what’s involved in even the simplest array operations. There’s a lot to learn before you can write one of these macros without a great deal of pain, especially if you aren’t a programmer.

But the good news is that it’s not much harder to write macros that do amazingly complicated and valuable things. So although the learning curve is steep at first, it levels off pretty quickly. In fact, you’ll see it level off even in this one session.

One minor caution: in this example, we extracted elements of the two argument ranges using the same row-and-column index notation that we’ve been using all along for worksheet functions like INDEX and OFFSET. In VBA, the default convention for counting rows and columns for these indices starts with 0, not 1. The example above uses a counting scheme that starts with 1, not 0. We control this behavior with the Base module option that we mentioned briefly last time.

Last Modified: Wednesday, 27-Apr-2016 04:15:26 EDT

How to Measure the Value of a Function Macro

The value of a function macro increases with frequency of use, the complexity of the calculation it performs, and the area of the result it returns. As you examine the computations you perform routinely in your work, make note of those computations that meet these criteria. Before committing yourself to writing a macro to carry out one those computations, try various methods for implementing it using standard built-in worksheet functions. That effort might clarify for you the kernel of the computation that benefits most from a macro-based approach.