i've done a quick google search and found the following post from Dave
Ramage
--
The best way I've found to get the format you
want is to copy the pivot table, then do a Paste Special-
Values onto another sheet, and then run this macro which
will fill in the missing lines:
Sub IntelliFill()
'D Ramage, Jan 2000
'Fills empty cells with previous value
'Instructions: Select range (multiple columns are
allowed), then run
Dim rngR, rngCol As Range
Dim lCell, lEndSectionRow, lFirstRow, lLastRow,
lLastrngColCell As Long
On Error GoTo TheEnd
Application.ScreenUpdating = False
Application.Calculation = xlManual
If TypeName(Selection) <> "Range" Then Exit Sub
Set rngR = Selection
lFirstRow = rngR.Cells(1).Row
lLastRow = rngR.Columns(1).Cells(rngR.Columns
(1).Cells.Count).Row
lLastrngColCell = rngR.Columns(1).Cells.Count
For Each rngCol In rngR.Columns
lCell = 1
Do While rngCol.Cells(lCell + 1).Value <> "" And lCell
< lLastrngColCell
lCell = lCell + 1
Loop
Do While lCell < lLastrngColCell
lEndSectionRow = rngCol.Cells(lCell).End
(xlDown).Offset(-1, 0).Row
If lEndSectionRow > lLastRow Then lEndSectionRow =
lLastRow
Range(rngCol.Cells(lCell + 1), rngCol.Cells
(lEndSectionRow - lFirstRow + 1)).Value = _
rngCol.Cells(lCell).Value
lCell = lEndSectionRow + 2 - lFirstRow
Do While rngCol.Cells(lCell + 1).Value <> "" And
lCell < lLastrngColCell
lCell = lCell + 1
Loop
Loop
Next rngCol
TheEnd:
On Error GoTo 0
Application.ScreenUpdating = False
Application.Calculation = xlAutomatic
End Sub
---
might work for you. also there's code at
http://www.contextures.com/xlDataEntry02.html but i've not compared it to
the above code.
Cheers
JulieD