I am not so sure it is a Focus problem. If the workbooks are linked with one
open and the other closed, and you have code in the workbook open that causes
a calculation process that relies on the still closed workbook, then it could
be causing copiler problems. You might need an If ... Then statement in
your workbook open that evaluates whether the other workbook is open and, if
not, bypass any code that would cause calculation to occur. Of course, I am
only guessing what the problem may be, but if it is what I described, then
you could check for the other workbook being open like this, where
Workbooks("B.xls") would be your other workbook:
Private Sub Workbook_Open()
If Workbooks("B.xls") If Nothing Then
Exit Sub
Else
'Run existing code
End If
End Sub