Index syndication
comment syndication

Archive for microsoft

Excel – Determining worksheet cell references

Worksheet names in Excel Cells

If you are working in Excel, and you want to show the worksheet name in a Cell on that worksheet, you can use the CELL function to do so.
By default the CELL function will return the current document name, if used with the filename info_type:

=CELL("filename")

This provides a full path to the spreadsheet, with the worksheet of the current Cell at the end, e.g:

C:\folder\[myfile.xls]Sheet1

You can easily get just the worksheet name by using the FIND and MID functions to do the hard work. You need to find the location of the last square bracket, and find achieves this as shown:
=FIND("]",CELL("filename"))

This would return the position of the last bracket. In this case it is at position 22 of the text that CELL(“filename”) returns. The MID function can extract text starting at a location for n length, where n is an arbitrary number. So we would combine MID, FIND and CELL functions to return just the worksheet name like this:

=MID(CELL("filename"),FIND("]",CELL("filename"))+1,255)

The reason we add a +1 is because we want to start extracting the text one character AFTER the right square bracket, e.g. at the start of the Worksheet name. Our result is:

Sheet1

Worksheet names from another Worksheet

So far so good, and how is this any different than any other blog post or forum post on the net explaining this? So far it’s not, but here comes the fun part.

What if you have multiple Worksheets, and you do this:

  1. Have a cell with content, Sheet1!B2
  2. Sheet1!B2 displays the content of OtherSheet!H5, i.e.:
    =OtherSheet!H5
  3. You want Sheet1!B1 to display the worksheet name where the CONTENT of Sheet1!B2 comes from.

You could try using the MID/FIND/CELL function combination to try this. In Sheet1!B1 you would enter:

=MID(CELL("filename",B2),FIND("]",CELL("filename",B2))+1,255)

However this would yield the worksheet name of B2 itself, not the worksheet where you are taking your content from:

Sheet1

Not what we wanted. Somehow you need to get the Value of the formula used =OtherSheet!H5 and look up the worksheet name for OtherSheet!H5

The Solution

To do this you ware going to need to do two things:

  1. Make a new function to display the formula, sans the equal sign
  2. Make your CELL function use the result of your function to lookup the filename info_type

We can use the Excel VB Editor to create a new function, and call it GetLocation:


Function GetLocation(Cell As Range) As String
GetLocation = Mid(Cell.Formula, 2)
End Function

But we can’t just use GetLocation to directly feed the CELL function. We need to use another handy function INDIRECT. This allows us to return the result of the GetLocation function as a Reference. This then allows the CELL function to evaluate the filename/Worksheet details for the destination cell in the other worksheet:

=MID(CELL("filename",INDIRECT(GetLocation(B2))),FIND("]",CELL("filename",INDIRECT(GetLocation(B2))))+1,256)

This now provides the Worksheet name of the cell that Sheet1!B1 is using to get it’s content from which is OtherSheet!H5:

OtherSheet

This is very handy when you need to show on a master worksheet which other worksheet your data is actually coming from. Windows Excel only, not Mac I’m afraid – until they bring back VB. Enjoy!

Bootcamp 3.0 fixes WinXP BSOD for Multitouch Trackpad

Apple released Bootcamp 2.1 with OS 10.5, which allows you to dual boot to Windows XP/Vista on your Mac.
Subsequenet to that release, there was a driver update for the Multitouch trackpad which was suppose to improve souble tapping, etc. However it caused a Blue Screen of Death (BSOD) the moment you double tapped, courtesy of applemtp.sys.

Many people sent suggestions to Apple to fix this, but it seemed to be falling on deaf ears.

Little did we know that Apple were releasing a new version of the touchpad driver included with Bootcamp 3.0 on the Snow Leopard install DVD.

I’ve updated my Bootcamp to 3.0, and indeed the applemtp.sys driver version has increased to 2.1.2.112. The FAQ for the Snow Leopard update states that Bootcamp 3.0 has:

“Improved tap-to-click support – The ability to tap the track pad to click the mouse button is now supported on all Mac portables that run Boot Camp.”

In my tests, so far, there has been no more crashes. I get to use double finger right click tap, and the track pad responsiveness that I got in the older buggy driver is back as well.

Thanks Apple. No more BSOD.

As easy as Apple Pie

A friend told me he had dropped his notebook PC, and it was going to cost more to repair than it was worth. I advised: Get a Mac.

I started looking around for some information for him. Why would the Mac benefit his Computer Science course? Why would the Mac be more reliable? What does he need to know about compatibility? One of the articles I read was a blog post by The Shepherd’s Sons called “All Signs Point To Apple”. In the post it describes a Windows man through and through and how his simplification of Technology had lead him to Apple. “It just works” is the Mantra all Mac people have heard.
I told my friend about this, to show him its not such a leap, but more of an awakening. “Four other family members had started using Macs” I said, and it’s true. They love them now.
I also didn’t want him to get lumped with Microsoft’s Vista like other friends and family had – some so bad they had even gone back to Windows XP.

A commenter on “All Signs Point To Apple” also points to the piece by David Pogue attempting to explain the Macintosh Surge effect. It is a good follow up to try and understand this increase seen in recent months.

Personally? I think it just sells itself by word of mouth. Thats how I pass on my experiences with Macs. Maybe you too should try one out.

MSIEXEC Complete Install

If you want to install an MSI with no user intervention, and scripted, you can use msiexec. But what if you want to do a complete installation on the product, instead of a typical installation (which would be default)? Put this in your script:

msiexec /i yourpackage.msi /passive ADDLOCAL=ALL

ADDLOCAL=ALL is the key to a complete install. Enjoy your automated windows installation.

Gates vs Jobs

Of interest to most “Tech” people out there would be the chat between Steve Jobs (of Apple fame if you are from under a rock) and Bill Gates (of Microsoft fame if you are not in the know). This occurred at the All Things Digital conference, and is now available for your aural or visual pleasure on the iTunes Music Store in the form of an audio and video podcast.

Next entries »