Thread: on error
View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Jim Thomlinson Jim Thomlinson is offline
external usenet poster
 
Posts: 5,939
Default on error

Once you have entered an error ahndler, you are in it until you "Resume" your
normal execution with the "Resume" key word. Your code never resumes normal
exectution. This means that after the first error you are now in an error
handler for the remainder of the exectution. Once in an error handler any new
errors will be unhandled and just pop up on you... From reading your code it
looks like you are opening workbooks (directory in one column file name in
the next) and copying data to your host workbook (let me know if I am off the
mark here). If so then try this code...


For Each rw In Range("block1")
x = rw
If rw = 0 Then GoTo endmacro
on error resume next
Set wkb = Workbooks.Open(rw.Offset(0, 1).value & "\" & _
rw.value, Notify:=False)
if not wbk is nothing then
Application.Goto Reference:="interestinput"
Selection.Copy
Windows("US Bank Statement Interest multiple months.xls").Activate
Selection.PasteSpecial Paste:=xlPasteValues Windows(x).Activate
Range("b6").Copy
Windows("US Bank Statement Interest multiple months.xls").Activate
Range("e2").End(xlDown).Offset(0, 2).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Selection.End(xlUp).Select
Selection.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Range(Selection, Selection.End(xlDown)).Select
Selection.FillDown
Range("b2").End(xlDown).Offset(1, 0).Select
Application.CutCopyMode = False
wkb.Close savechanges:=False
end if
Next rw
endmacro:
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Range("a2").Select
End Sub

--
HTH...

Jim Thomlinson


"Linus" wrote:

I'm using the following code to open up serveral files and grab information
to post to a worksheet. If the file does not exist in the directory, my on
error code will work for the first file but shows me the error on any
subsequent issue.

thanks

On Error GoTo error

Range("b2").Select
For Each rw In Range("block1")
ChDir rw.Offset(0, 1)
x = rw
If rw = 0 Then GoTo endmacro
Set wkb = Workbooks.Open(rw, Notify:=False)
Application.Goto Reference:="interestinput"
Selection.Copy
Windows("US Bank Statement Interest multiple months.xls").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Windows(x).Activate
Range("b6").Copy
Windows("US Bank Statement Interest multiple months.xls").Activate
Range("e2").End(xlDown).Offset(0, 2).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Selection.End(xlUp).Select
Selection.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Range(Selection, Selection.End(xlDown)).Select
Selection.FillDown
Range("b2").End(xlDown).Offset(1, 0).Select
Application.CutCopyMode = False
wkb.Close savechanges:=False

error:
Next rw
endmacro:
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Range("a2").Select
End Sub