Alessio
2006-08-14 07:31:01 UTC
Salve a tutti ho registrato e in parte scritto la seguente macro, che si
ferma quando non trova il foglio "Listino". Io ero convinto che con il
comando On Error GoTo Line2 la macro superasse l'eventualità di non trovare
il foglio ma purtroppo, o non è così, o ho commesso qualche altro errore, ma
data la mia ignoranza in materia non riesco ad individuarlo. Riporto qui
sotto l'intera macro e vi ringrazio per eventuali suggerimenti.
Alessio
Sub Trasf_euro()
'
' Trasf_euro Macro
'
' Scelta rapida da tastiera: CTRL+h
'
Application.ScreenUpdating = False
On Error GoTo Line1
Windows("old.xls").Activate
Sheets("OLD").Select
Range("A1:N2608").Select
Application.CutCopyMode = False
Selection.Copy
Windows("new.xls").Activate
Sheets("OLD").Select
ActiveSheet.Paste
Windows("old.xls").Activate
Line1:
Sheets("Anagrafica").Select
Range("B1:B22").Select
Application.CutCopyMode = False
Selection.Copy
Windows("new.xls").Activate
Sheets("Anagrafica").Select
ActiveSheet.Paste
Application.Run "PERSONAL.XLS!fine_immissione_dati_anagrafica"
Windows("old.xls").Activate
On Error GoTo Line2
'se la scheda Listino non esiste la macro si pianta
Sheets("Listino").Select
Range("A3:D1431").Select
Application.CutCopyMode = False
Selection.Copy
Windows("new.xls").Activate
Sheets("Listino").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("G3").Select
Windows("old.xls").Activate
Range("G3:J1431").Select
Range("G1431").Activate
Application.CutCopyMode = False
Selection.Copy
Windows("new.xls").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Windows("old.xls").Activate
Range("M3:M1512").Select
Application.CutCopyMode = False
Selection.Copy
Windows("new.xls").Activate
Range("M3").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("A3").Select
Windows("old.xls").Activate
Line2:
On Error Resume Next
Sheets("SNC").Select
On Error Resume Next
Sheets("SRL").Select
If [P2].Value < 601 Then
GoTo Line3
End If
Range("C4:O600").Select
Application.CutCopyMode = False
Selection.Copy
Windows("new.xls").Activate
Sheets("SRL").Select
Range("C4:O600").Select
ActiveSheet.Paste
Windows("old.xls").Activate
Range("N3:O3").Select
Application.CutCopyMode = False
Selection.Copy
Windows("new.xls").Activate
Range("N3").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("C12").Select
Application.Run "PERSONAL.XLS!Approx_calcolo"
Application.ScreenUpdating = True
Cells(Range("P2").Value, 3).Select
Exit Sub
Line3:
Range("C4:O1000").Select
Application.CutCopyMode = False
Selection.Copy
Windows("new.xls").Activate
Sheets("SRL").Select
Range("C4:O1000").Select
ActiveSheet.Paste
Windows("old.xls").Activate
Range("N3:O3").Select
Application.CutCopyMode = False
Selection.Copy
Windows("new.xls").Activate
Range("N3").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("C12").Select
Application.Run "PERSONAL.XLS!Approx_calcolo"
Application.ScreenUpdating = True
Cells(Range("P2").Value, 3).Select
End Sub
ferma quando non trova il foglio "Listino". Io ero convinto che con il
comando On Error GoTo Line2 la macro superasse l'eventualità di non trovare
il foglio ma purtroppo, o non è così, o ho commesso qualche altro errore, ma
data la mia ignoranza in materia non riesco ad individuarlo. Riporto qui
sotto l'intera macro e vi ringrazio per eventuali suggerimenti.
Alessio
Sub Trasf_euro()
'
' Trasf_euro Macro
'
' Scelta rapida da tastiera: CTRL+h
'
Application.ScreenUpdating = False
On Error GoTo Line1
Windows("old.xls").Activate
Sheets("OLD").Select
Range("A1:N2608").Select
Application.CutCopyMode = False
Selection.Copy
Windows("new.xls").Activate
Sheets("OLD").Select
ActiveSheet.Paste
Windows("old.xls").Activate
Line1:
Sheets("Anagrafica").Select
Range("B1:B22").Select
Application.CutCopyMode = False
Selection.Copy
Windows("new.xls").Activate
Sheets("Anagrafica").Select
ActiveSheet.Paste
Application.Run "PERSONAL.XLS!fine_immissione_dati_anagrafica"
Windows("old.xls").Activate
On Error GoTo Line2
'se la scheda Listino non esiste la macro si pianta
Sheets("Listino").Select
Range("A3:D1431").Select
Application.CutCopyMode = False
Selection.Copy
Windows("new.xls").Activate
Sheets("Listino").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("G3").Select
Windows("old.xls").Activate
Range("G3:J1431").Select
Range("G1431").Activate
Application.CutCopyMode = False
Selection.Copy
Windows("new.xls").Activate
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Windows("old.xls").Activate
Range("M3:M1512").Select
Application.CutCopyMode = False
Selection.Copy
Windows("new.xls").Activate
Range("M3").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("A3").Select
Windows("old.xls").Activate
Line2:
On Error Resume Next
Sheets("SNC").Select
On Error Resume Next
Sheets("SRL").Select
If [P2].Value < 601 Then
GoTo Line3
End If
Range("C4:O600").Select
Application.CutCopyMode = False
Selection.Copy
Windows("new.xls").Activate
Sheets("SRL").Select
Range("C4:O600").Select
ActiveSheet.Paste
Windows("old.xls").Activate
Range("N3:O3").Select
Application.CutCopyMode = False
Selection.Copy
Windows("new.xls").Activate
Range("N3").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("C12").Select
Application.Run "PERSONAL.XLS!Approx_calcolo"
Application.ScreenUpdating = True
Cells(Range("P2").Value, 3).Select
Exit Sub
Line3:
Range("C4:O1000").Select
Application.CutCopyMode = False
Selection.Copy
Windows("new.xls").Activate
Sheets("SRL").Select
Range("C4:O1000").Select
ActiveSheet.Paste
Windows("old.xls").Activate
Range("N3:O3").Select
Application.CutCopyMode = False
Selection.Copy
Windows("new.xls").Activate
Range("N3").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("C12").Select
Application.Run "PERSONAL.XLS!Approx_calcolo"
Application.ScreenUpdating = True
Cells(Range("P2").Value, 3).Select
End Sub