For weeks now I have had the mild annoyance that the VBA code editor for various Excel spreadsheet’s appear to be opening at “random”. I finally tracked it down to me unlocking my PC. If I have excel running then lock my PC, when I unlock it, the VBA code editor appears.

I’m using Office 2003 SP3 on XP Pro SP3.

Turns out that there is a VERY easy fix – don’t maximise the VBA code editor.
If the editor is maximised, it appears on unlock, if it is not maximised it does not appear automatically on unlock.

A nice quick tip, I had lots of cell values in a mixture of cases that should have been uppercase.

Create a macro:

sub MakeUpper()

for each myCell in Selection

  myCell.Value = UCase(myCell.value)

next myCell

end sub

Add a menu item to your toolbar and then assign this macro to it.

Select the cells you want to upper case then press the button!

Sometimes you find a feature in a product that is just blatantly missing. One of those in Microsoft Word is the ability to update all the fields in the document with the latest value in a field.

I use both the built in fields e.g. Author, Version, Title and custom fields e.g. Project Code. I set the values once in the document properties and then insert the field codes in the document rather than the text. All is well. If you change the value of a field you can press F9 and all of the fields update to the latest value EXCEPT if you have used the fields in the document header or footer, these do not get updated for some reason. I would classify this as a bug, why would I not want all instances of the same field to be in sync throughout my document.

The solution is remarkably simple. Create the following macro:

Sub UpdateAll()
Dim oStory As Range
Dim oField As Field
For Each oStory In ActiveDocument.StoryRanges
For Each oField In oStory.Fields
oField.Update
Next oField
Next oStory
End Sub

This can be saved in your normal.dot file and will be available in all your word documents.

Apple Keyboard (with Avid shortcuts; Letterboxed)
Creative Commons License photo credit: laffy4k

If you look at the left hand menu you will see the items:

  • Mail
  • Calendar
  • Contacts
  • Tasks
  • etc

These can be quickly accessed by using the following shortcut keys:

  • (Ctrl+1) – Mail
  • (Ctrl+2) – Calendar
  • (Ctrl+3) – Contacts
  • (Ctrl+4) – Tasks

In addition, when you use Ctrl+1 to access mail, this takes you to the folder that you were last using, if you would rather jump straight into your In-Box – use (Ctrl+Shift+I).

A nice quick hint.

I kept forgetting to start Google Calendar Sync when I started Outlook. I don’t always start Outlook when I start my laptop and I’m not always online when I run Outlook so puting it in my Startup folder is not really an option.
My solution, a macro that runs when Outlook starts that gives me the option of running Google Calendar Sync if I feel it’s appropriate.

Private Sub Application_Startup()
Dim response As Integer
Dim RetVal

response = MsgBox(prompt:=”Do you want to run Google Calendar Sync?”, buttons:=vbYesNo)

If response = vbYes Then
RetVal = Shell(“C:\Program Files\Google\Google Calendar Sync\GoogleCalendarSync.exe”, vbMinimizedNoFocus)
End If

End Sub

Microsoft At Home
I’m using Microsoft Outlook 2007 and I think it’s a great piece of software.
It has a built in RSS feed reader. Typically I use Google Reader but as that can’t handle authenticated feeds I’m using Outlook for all of my work related Sharepoint feeds.
In order to introduce people to RSS, Microsoft have included two “standard” RSS feeds: “Microsoft At Home” and “Microsoft At Work”.
The only problem is, I’m not really interested in reading these feeds.
Continue reading »

I have spent most of today throwing data around in MS Excel.

One of the things that I have had to do is to convert percentages into real numbers.

In excel percentages are stored as fractions, for example 50% is stored as 0.5, 75% as 0.75 etc.

I am trying to chart these figures in Business Objects Xcelsius but the y-axis labels are just showing 0 to 0 hence why i need to convert my numbers.

I have just found a really easy way to do this.

  • In the target cells, enter the value 100 in each cell.
  • Copy the source cells
  • Select “Paste Special” using the options “Values” and “Multiply”

This takes the source value 0.75 multiplies it by 100 and stores the result 75 !

I have used pase special – values often but I have never seen the need for the multiply option until now !

I have spent all day in MS Excel.
I receive excel spreadsheets in a “fairly” fixed format.
I need to get this data into Business Objects Xcelsius via another spreadsheet that stores historical records and keeps the data in a format optimised for display.
“Normally” I would be using Data integrator (DI) to move the data from the source, store the data in a database table or two, use query as a web service (QAAWS) or Live Office to pull the data from the database directly into Xcelsius.
Here we do not have access to any of these luxuries.
I have written a translation spreadsheet that I can point to a specific source and it will re-shape the data so that it can fit my target spreadsheet. Then it’s just a case of copy and then paste values….
To make this process easier I am using the “INDIRECT” function in excel.
=INDIRECT("[" & $H$1 & "]Data!" & AU$1 & $C17) * 100
Here the current cell will grab the vaue from the workbook named in H1, go to the “Data” spreadsheet then grab the row and column attributes from AU1 and C17 then multiply the number by 100.
This means that next month I just need to change the name of my source spreadsheet and it will all just work. If a row or column “moves” in the source, I just update the metadata (AU1 or C17) in this case.
It takes a long time to set up and to check but next month it should be a breeze.

This post is password protected. To view it please enter your password below:


MS Office Logo

I have had office 2007 on my laptop for ages now. Like everyone I am still using the “old” file formats until the rest of the world catches up. On the whole I have been impressed by the ribbon interface.

I have just found my first major annoyance. Freeze Panes. You now have three options: Freeze Panes, Freeze Top Row and Freeze First Column. Freeze Panes works exactly the same as it did in previous versions, no problem there. I can just continue to use that option.

The problem is with Freeze Top Row; this option freezes the top row that is shown on the screen not the top row of the sheet. I know that’s what it does, it’s just that, it’s not what I expect it to do, and I can’t stop myself from clicking it !

Follow Me

Translate this Page

© 2012 Ross Goodman Suffusion theme by Sayontan Sinha