EnFo
2006-02-04 20:23:32 UTC
Buongiorno a tutti ho un problema che non riesco a risolvere. Sto
predisponendo un file per il bilancio (partendo da una situazione
contabile).
Ogni foglio contiene dati del periodo N e dati dei periodi da N-1 a N-4,
in bilancio, e nelle relative analisi, questi ultimi valori devono
rimanere immutati anche se la riclassifica fatta ad esempio nel periodo
N-3 era sbagliata. A tal fine ho "definito dei nomi" per i vari periodi,
ho fatto in modo che si possano imputare i dati solo per il periodo N,
poi con delle macro tali importi vengono copiati come valori nei periodi
precedenti, partendo ovviamente da N-3 in N-4, N-2 in N-3, N-1 in N-2 e
infine N in N-1. Tali macro funzionano correttamente se eseguite
singolarmente.
Il problema sorge con la seguente macro che dovrebbe far in modo che in
tutti i vari fogli le varie macro "Copia" vengano eseguite:
Private Sub Copia_Periodi()
Dim Response As Integer
Dim Msg As String
Dim Style As Integer
Dim Title As String
'Evita lo sfarfallio
Application.ScreenUpdating = False
'Definisce il messaggio
Msg = " STATE COPIANDO I VALORI" _
& Chr(13) & "" _
& Chr(13) & "DAL 'PERIODO 0' AL 'PERIODO -1'" _
& Chr(13) & "" _
& Chr(13) & " CONTINUARE ?" _
'Definisce i pulsanti
Style = vbYesNo + vbCritical + vbDefaultButton2
'Definisce il titolo
Title = "A T T E N Z I O N E"
'Visualizza il messaggio
Response = MsgBox(Msg, Style, Title)
'L'utente sceglie il pulsante SI
If Response = vbYes Then
'Sprotegge il foglio
Unprotect Password:=""
Call Worksheets("ANAGRAFICA").Copia_ANAGRAFICA
'Protegge il foglio
Protect Password:="", DrawingObjects:=True, Contents:=True,
Scenarios:=True, UserInterfaceOnly:=True
EnableSelection = xlUnlockedCells
Worksheets("S.d.S.").Activate
Call Worksheets("S.d.S.").Copia_SdS
Worksheets("Analisi Indici").Activate
Call Worksheets("Analisi Indici").Copia_Analisi_Indici
Worksheets("Analisi Bilancio").Activate
Call Worksheets("Analisi Bilancio").Copia_Analisi_Bilancio
Worksheets("P.d.C. - INPUT").Activate
Call Worksheets("P.d.C. - INPUT").Copia_PdC_INPUT
Worksheets("ANAGRAFICA").Activate
Range("D18").Select
End If
L'errore che mi viene restituito, peraltro non a ogni esecuzione, è il
seguente:
"Errore di run-time '1004': Errore definito dall'applicazione o
dall'oggetto"
Saluti e grazie a chi saprà aiutarmi.
Enrico
Abbassa LA VOCE per rispondermi
predisponendo un file per il bilancio (partendo da una situazione
contabile).
Ogni foglio contiene dati del periodo N e dati dei periodi da N-1 a N-4,
in bilancio, e nelle relative analisi, questi ultimi valori devono
rimanere immutati anche se la riclassifica fatta ad esempio nel periodo
N-3 era sbagliata. A tal fine ho "definito dei nomi" per i vari periodi,
ho fatto in modo che si possano imputare i dati solo per il periodo N,
poi con delle macro tali importi vengono copiati come valori nei periodi
precedenti, partendo ovviamente da N-3 in N-4, N-2 in N-3, N-1 in N-2 e
infine N in N-1. Tali macro funzionano correttamente se eseguite
singolarmente.
Il problema sorge con la seguente macro che dovrebbe far in modo che in
tutti i vari fogli le varie macro "Copia" vengano eseguite:
Private Sub Copia_Periodi()
Dim Response As Integer
Dim Msg As String
Dim Style As Integer
Dim Title As String
'Evita lo sfarfallio
Application.ScreenUpdating = False
'Definisce il messaggio
Msg = " STATE COPIANDO I VALORI" _
& Chr(13) & "" _
& Chr(13) & "DAL 'PERIODO 0' AL 'PERIODO -1'" _
& Chr(13) & "" _
& Chr(13) & " CONTINUARE ?" _
'Definisce i pulsanti
Style = vbYesNo + vbCritical + vbDefaultButton2
'Definisce il titolo
Title = "A T T E N Z I O N E"
'Visualizza il messaggio
Response = MsgBox(Msg, Style, Title)
'L'utente sceglie il pulsante SI
If Response = vbYes Then
'Sprotegge il foglio
Unprotect Password:=""
Call Worksheets("ANAGRAFICA").Copia_ANAGRAFICA
'Protegge il foglio
Protect Password:="", DrawingObjects:=True, Contents:=True,
Scenarios:=True, UserInterfaceOnly:=True
EnableSelection = xlUnlockedCells
Worksheets("S.d.S.").Activate
Call Worksheets("S.d.S.").Copia_SdS
Worksheets("Analisi Indici").Activate
Call Worksheets("Analisi Indici").Copia_Analisi_Indici
Worksheets("Analisi Bilancio").Activate
Call Worksheets("Analisi Bilancio").Copia_Analisi_Bilancio
Worksheets("P.d.C. - INPUT").Activate
Call Worksheets("P.d.C. - INPUT").Copia_PdC_INPUT
Worksheets("ANAGRAFICA").Activate
Range("D18").Select
End If
L'errore che mi viene restituito, peraltro non a ogni esecuzione, è il
seguente:
"Errore di run-time '1004': Errore definito dall'applicazione o
dall'oggetto"
Saluti e grazie a chi saprà aiutarmi.
Enrico
Abbassa LA VOCE per rispondermi