Hi Tony
Thanks for the reply; it was using the MsgBox idea that got me to the point of blaming the File Open... section, so I'm glad I'd done something right. 
Using your suggestions I dug deeper, and have pretty much confirmed that it is if the keyboard shortcut uses the SHIFT modifier then the File Open.. process terminates the macro without any error being logged.
So the SHIFT must be interacting with the File Open... in some way.
I have added the full steps that I took to get to to this assumption below, but thought it best to summarise at the top of the message.
If anyone has any suggestions as to how to overcome this it would be useful to know, simply because all of the macros we use are called with Ctrl+Shift key combinations, and I like consistency. 
KR
Steve
THE TL/DR bit
I started using the Debug.Print lines Tony suggested, and also put in (what I hope would be) an OnError handler too (new code lines in red):
On Error GoTo somethinghappened
Dim sReport, sReportSheetname, sPCMaster As String
Debug.Print "After sReport..."
' get the names of the open PC data set and the worksheet with the data on it
sReport = ActiveWorkbook.Name
sReportSheetname = ActiveSheet.Name
' allow the user to go and find the Post Campaign Report master template
strFilename = Application.GetOpenFilename("All files (*.*), *.*")
If strFilename = False Then
Debug.Print "strFileName=False is true, as it were"
Exit Sub
End If
Debug.Print "About to open workbook"
' to exit if Cancel button pressed
Workbooks.Open (strFilename) ' Opening workbook indicated by passed name
Debug.Print "Workbook is now open"
' the newly opened file is now active - store its name
sPCMaster = ActiveWorkbook.Name
Debug.Print "Now have the workbook name stored"
' go back to the data set...
Workbooks(sReport).Activate
Debug.Print "Now back to the dataset sheet"
' ... MOVE it to the end of the Post Campaign Report template
Sheets(sReportSheetname).Select
(rest of code)
then the final few lines had the error handler added:
(last few lines of file modified to add the error handler and debug.print the close)
' skip the error handler code
GoTo EndPCR3
somethinghappened:
Debug.Print ("We're in the error handler")
Debug.Print (Err)
EndPCR3:
Debug.Print ("About to exit Sub")
End Sub
As before, running the Macro with Alt-F8 and selecting works fully as expected, and Debugs as:
After sReport...
About to open workbook
Workbook is now open
Now have the workbook name stored
Now back to the dataset sheet
About to exit Sub
As before, running it with the keyboard shortcut stops on opening the second workbook, and debugs:
After sReport...
About to open workbook
So it appears File Open... is not passing control back to the macro as it doesn't Debug Workbook is now open
Then I set up the Macro as a button on my ribbon (Excel 2010), and that ran properly and logged fully, so it really does seem that the keyboard trigger is the cause of the trip-up.
So I tried different triggers, and discovered it was only when SHIFT was part of the shortcut that the problem occurred - Crtl+Shift+E and it stops, Ctrl+E and it runs to the end. It isn't the letter "E" either, as the same happened using Ctrl+Shift+J and Ctrl+J
So I can't see any way of getting any further into it, but it really looks like the Shift key is the problem here.
Bookmarks