there's too much code to paste; i'll give an explanation and a code sample.
on opening the workbook, which has two worksheets ("notes" and "statement"

, a userform collects data and then starts code which does stuff (inserting data, formulae and formatting) with both sheets.
the closing of the userform runs code in a module (a module i created myself, not in the default module called Sheet1(statement) under Microsoft Excel Objects in the project menu, but under Modules.
this module does stuff such as
With Worksheets("Notes"

'this is a new group. insert row, give it heading
strAct = Cells(iRow, 12)
Rows(iRow).Insert: iRow = iRow + 1
intGroupIndex = iRow
intFeRateGroupIndex = iRow
With .Cells(iRow - 1, 1)
.Value = strCtAct
.Font.Bold = True
etc etc
then the code runs some more code, in another module i created myself, like this:
With Worksheets("Statement"

.PageSetup
.LeftMargin = Application.InchesToPoints(0.4)
.RightMargin = Application.InchesToPoints(0.4)
End With
With Worksheets("Statement"

.Columns("A:A"

.ColumnWidth = 30
.Columns("B:B"

.ColumnWidth = 9.75
etc etc
the formatting that should be applied to the sheet called Statement is in fact applied to Notes.
it's crazy! i had this problem last year and worked around it, assuming it was a bug.
i tried to replicate the fault in a new workbook just now, and it doesn't manifest itself. i'm quite confused and suspect that my understanding of something or other is to blame. but if so, others must have had the same misunderstanding before, because as you see, i am referring to the sheets in the correct manner.
ps i don't understand the difference between the code modules in Microsoft Excel Objects and the modules in Modules in the project view. if you could explain that, i'd be grateful.
thanks for taking the time to answer my question.
gusset