If you know why you’re reading this already, skip to the code below the fold. Otherwise, here’s some explanation. In a project Work Breakdown Structure (WBS), tasks are organized into major tasks, sub-tasks, sub-sub-tasks, etc. as in the following example which is an actual project plan used by NASA:
1 Build a spaceship 1.1 Read wikipedia article on spaceships to determine required supplies 1.2 Buy spaceship supplies 1.3 Assemble spaceship 1.3.1 Attach top part to middle part 1.3.2 Attach middle part to thruster thingie 1.3.3 Paint spaceship a neat-o color 1.4 Set spaceship upright (facing sky) 2 Fly around in spaceship 3 Discover strange new worlds 4 Return home 4.1 Point spaceship at Earth 4.2 Land spaceship on Earth 4.3 Park spaceship in designated parking space
Instead of sequentially numbering the tasks, we assign subtask numbers to those tasks that roll up under other tasks. Assemble spaceship is a subtask of Build a spaceship so it gets Build a spaceship‘s number (1) plus a subtask number (3, since it’s the third subtask) so its WBS number is 1.3. Attach top part to middle part is a subtask of Assemble spaceship, so it gets 1.3 plus a sub-subtask number (1.3.1), and so on. MS Project also bolds any items with subtasks.
Since this type of WBS or outline numbering functionality isn’t available in Excel, it requires a VBA macro. Free code after the fold.