except for selecting the other workbook, the code you have is just about correct.
to make a label you do
err1:
so it is terminated with a colon.
On Error GoTo Err1
Sheets("Report").Select
CF code
.
Err1:
Resume Next
On Error GoTo Err2
Workbooks("Otherbook.xlsx").Activate
Sheets("Data Input").Select
CF code
.
Err2:
Resume Next
On Error GoTo Err3
Sheets("XML").Select
CF code
.
Err3:
Resume Next
End Sub
You could also do something like this (if the same commands are executed on each sheet)
Sub abc()
Dim v(1 To 3) As Worksheet
On Error Resume Next
Set v(1) = Workbooks("Book1.xls").Worksheets("Report")
Set v(2) = Workbooks("Book2.xls").Worksheets("Data Input")
Set v(3) = Workbooks("Book2.xls").Worksheets("XML")
On Error GoTo 0
For i = 1 To 3
If Not v(i) Is Nothing Then
'CF
MsgBox v(i).Range("A1").Address(0, 0, xlA1, True)
End If
Next
End Sub
--
Regards,
Tom Ogilvy