Thanks for the quick reply. The first code example you give is exactly what I have done as a work around the problem. Whilst it does work well my dogged determination not to let an inanimate object beat me drives me on! The reason I wanted to have separate macros called by another is so that I can have each macro as part of a library that can be called upon as and when required.
Sorry, the continuation macro means nothing to me!
AddNewRow adds a row into a sheet and works fine.
CopyCells1 copies a named range of cells into the new row and works fine.
CopyCells2 copies another named range of cells into the new row and works fine.
Module1 contains all the code from the above three macros as three subroutines with a fourth:
Sub RunAll
AddNewRow
CopyCells1
CopyCells2
end sub
This also works.
All I want to do is have this forth macro run the other three as separate macros not as sub routines within the same macro.
Module2 is just a test Module to play around with.
The solution is of course blindingly obvious and simple. Light bulb moment. In the Macro that I want to run the other three I was “calling” each Module but not telling each Module which Sub to run. Spotted this as I was assigning a macro to a form control push button!
The following code works:
Sub Main
AddNewRow 'Module to be used
AddRow 'Sub to run
CopyCells1 'Module to be used
Cells1 'Sub to run
CopyCells2 'Module to be used
Cells2 'Sub to run
End Sub