Condividi:        

Errore di run-time 1004

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Errore di run-time 1004

Postdi geri21 » 22/02/10 18:28

Con excel 2007 ho realizzato un file che si estende da col. A a col. AG.
Per visualizzarlo interamente in una schermata, ho realizzato tre macro con pulsanti per nascondere o scoprire coppie di colonne scelte tra quelle d’importanza secondaria.
Senza protezione cliccando sui pulsanti “Scopri” o “Nascondi” tutto funziona perfettamente!!!
Allorché il foglio viene protetto con pass, le stesse operazioni sono conseguenza di una finestra che riporta: “Errore di run-time 1004. Impossibile impostare la proprietà Hidden per la classe Range”.
Come posso rimediare ?
Grazie per l’aiuto che vorrete fornirmi.
geri21
Utente Junior
 
Post: 54
Iscritto il: 24/07/08 07:32

Sponsor
 

Re: Errore di run-time 1004

Postdi Flash30005 » 22/02/10 22:04

L'errore 1004 normalmente è dovuto a:
1) il foglio che si sta "chiamando" con la macro non è attivo (magari è visualizzato un altro foglio)
oppure
2) c'è una protezione (come dici) sul foglio per la quale non è possibile fare modifiche

soluzione per punto 1)
nella macro dovrai mettere prima di altri codici
Worksheets("NomeFoglio").select

soluzione per punto 2)
fai una routine di sprotezione foglio prima di effettuare modifiche e poi, semmai, ripristini la protezione.

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Errore di run-time 1004

Postdi geri21 » 22/02/10 23:45

Flash, ti ringrazio della risposta.
Purtroppo di VB ci capisco meno di niente.
Potresti essere più chiaro e magari con una descrizione passo-passo circa la routine di protezione ?
Grazie e cordiali saluti.
geri21
Utente Junior
 
Post: 54
Iscritto il: 24/07/08 07:32

Re: Errore di run-time 1004

Postdi Flash30005 » 23/02/10 00:09

Fai una macro di sprotezione per il foglio che ti interessa o copia questa macro (valida per tutti i fogli)
Codice: Seleziona tutto
Sub SProtez()
Application.ScreenUpdating = False
Dim NomF As String
Dim strPassword As String
strPassword = "TUAPASSWORD"
'strPassword = InputBox("Enter the password for the worksheet")
'NF = Worksheets.Count
For Each ws In Worksheets
 Worksheets(ws.Name).Unprotect Password:=strPassword
Next ws
Application.ScreenUpdating = true
End Sub


E una macro di protezione come questa (valida per tutti i fogli)
Codice: Seleziona tutto
Sub Protez()
Application.ScreenUpdating = False
Dim NomF As String
Dim strPassword As String
strPassword = "TUAPASSWORD"
For Each ws In Worksheets
    Worksheets(ws.Name).Protect Password:=strPassword
Next ws
Application.ScreenUpdating = true
End Sub


Poi all'occorrenza userai prima la sprotezione con
call SProtez
fai le opportune modifiche al foglio e ripristini la protezione con
call Protez

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Errore di run-time 1004

Postdi Anthony47 » 23/02/10 02:07

Penso pero' che dovrebbe essere possibile, quando si imposta la protezione sul foglio, abilitare "Consenti Formato colonne"; in questo modo Scopri e Nascondi colonne dovrebbero essere possibili senza prima sproteggere il foglio, cioe' con le macro gia' disponibili.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Errore di run-time 1004

Postdi geri21 » 23/02/10 10:00

Perdonate la mia ignoranza, ma non saprei dove incollare l’istruzione per la sprotezione del foglio.
Riferendomi ad Antony, dovrebbe suggerirmi dove trovare “Consenti Formato controllo”.
Infiniti ringraziamenti per il vostro interessamento.
grazie
geri21
Utente Junior
 
Post: 54
Iscritto il: 24/07/08 07:32

Re: Errore di run-time 1004

Postdi Anthony47 » 23/02/10 15:45

Quando applichi la protezione dovresti avere la possibilita' di impostare una password oppure di "spuntare" una serie di cose che sono permesse sul foglio protetto.

Per il discorso macro, pubblica le macro che hai costruito e ti spiegheremo meglio.

Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Errore di run-time 1004

Postdi geri21 » 23/02/10 21:00

Le macro riportate dovrebbero nascondere e scoprire le colonne H e I, completata la precedura ripristinare automaticamente la protezione del foglio.
Altra macro,quindi altri due pulsanti, dovrebbe nascondere e scoprire le colonne N e O dello stesso foglio.
Nella speranza di non essere invasivo,si ringrazia vivamente.

Sub Macro1()
'
' Macro1 Macro
' Nascondi colonne H,I
'

'
ActiveSheet.Unprotect
Columns("H:I").Select
Selection.EntireColumn.Hidden = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowDeletingColumns:=True
End Sub
Sub Macro2()
'
' Macro2 Macro
' Scopri colonne H,I
'

'
ActiveSheet.Unprotect
Columns("G:J").Select
Selection.EntireColumn.Hidden = False
Range("M7").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowDeletingColumns:=True
End Sub
geri21
Utente Junior
 
Post: 54
Iscritto il: 24/07/08 07:32

Re: Errore di run-time 1004

Postdi Flash30005 » 23/02/10 22:23

Non ho capito bene quando deve essere scoperto il foglio comunque io sproteggo nascondo le colonne H:I e riproteggo
poi sproteggo scopro le colonne H:I e riproteggo
ugualmente per le colonne N:O
poi lo vedrai tu stesso cosa fare togliendo qualche chiamata alle macro Sproteggi e Proteggi

Codice: Seleziona tutto
Sub NascondiHI()
Call SProtez
Columns("H:I").EntireColumn.Hidden = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowDeletingColumns:=True
Call Protez
End Sub
Sub ScopriHI()
Call SProtez
Columns("H:I").EntireColumn.Hidden = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowDeletingColumns:=True
Call Protez
End Sub
Sub NascondiNO()
Call SProtez
Columns("N:O").EntireColumn.Hidden = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowDeletingColumns:=True
Call Protez
End Sub
Sub ScopriNO()
Call SProtez
Columns("N:O").EntireColumn.Hidden = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowDeletingColumns:=True
Call Protez
End Sub
Sub SProtez()
Application.ScreenUpdating = False
Dim NomF As String
Dim strPassword As String
strPassword = "TUAPASSWORD"
For Each ws In Worksheets
Worksheets("Foglio1").Unprotect Password:=strPassword
Next ws
Application.ScreenUpdating = True
End Sub
Sub Protez()
Application.ScreenUpdating = False
Dim NomF As String
Dim strPassword As String
strPassword = "TUAPASSWORD"
For Each ws In Worksheets
    Worksheets("Foglio1").Protect Password:=strPassword
Next ws
Application.ScreenUpdating = True
End Sub


Ciao

P-s Vorrei dirti, comunque, che se devi scrivere dei dati su colonne nascoste attraverso macro non è necessario scoprirle ma solo sproteggerle
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Errore di run-time 1004

Postdi geri21 » 24/02/10 10:13

Sono mortificato !!! Purtroppo non riesco a farle funzionare!!!
Mi appare sempre un avviso “Errore di compilazione e Errore di sintassi”
Il quesito è stato perfettamente interpretato cmq lo riespongo:
In testa alle col. H,I ho posto il pulsante “Nascondi” ed in testa alle colonne adiacenti J,M il pulsante “scopri”.
Cliccando sul pulsante “Nascondi” devono nascondersi le col. H,I con ripristino della protezione.
Cliccando sul pulsante “Scopri” deve riapparire le colonne nascoste H,I e ripristino protezione.
Stesse funzioni da applicarsi ai pulsanti “Nascondi” posto in testa alle col. N,O e pulsante “Scopri" posto in testa col. P,R.
Per semplificare il mio intervento è opportuno separare le istruzioni da incollare sulla macro “Nascondi” dalla macro “Scopri”.
Mi rendo disponibile ad inviare il file ma non saprei come allegarlo.
Saluti e ringraziamenti infiniti.
geri21
Utente Junior
 
Post: 54
Iscritto il: 24/07/08 07:32

Re: Errore di run-time 1004

Postdi Flash30005 » 24/02/10 13:49

Fai così
apri excel Nuova Cartella
premi contemporaneamente i tasti ALT e F11
una volta nel VBA vai su Menu "Inserisci" e selezioni "Modulo"
il cursore lampeggerà sulla finestra di destra e incolli l'inero codice riportato nel post (prelevato con Seleziona Tutto).
Ora ti posizioni nella prima macro "NascondiHI" e premi F8 o Play e vedrai che le colonne H e I spariscono dal foglio per farle riapparire devi avviare la macro "ScopriHI".

Prova e fai sapere
altrimenti
scarica questo file

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Errore di run-time 1004

Postdi Anthony47 » 24/02/10 15:47

Certo che vi piacciono le soluzioni complicate...

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Errore di run-time 1004

Postdi geri21 » 25/02/10 10:44

OK !!! Cliccando sui pulsanti si ottiene l’effetto voluto.
Sarebbe perfetto se mi potesse fornire anche la soluzione per eliminare “Errore di run_time 9. Indice non incluso nell’intervallo” che appare ad ogni clic sui pulsanti.
Grazie.
geri21
Utente Junior
 
Post: 54
Iscritto il: 24/07/08 07:32

Re: Errore di run-time 1004

Postdi Flash30005 » 25/02/10 11:43

Se usando il file che ti ho inviato, Excel va in errore, significa che hai un problema in Excel (magari la versione 2007 non è compatibile con qualche codice impostato) perché a me funziona perfettamente.

Dovresti andare in debug e vedere qual'è la riga di codice che va in errore e pubblicare l'immagine (Screenshot, foto dello schermo) del vba con evidenziato il codice "errato".

Magari qualche possessore di excel 2007 ti potrà dare una mano per risolvere il problema.

Fai sapere
Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Errore di run-time 1004

Postdi geri21 » 26/02/10 11:43

OK. Appena risolto posterò la soluzione.
Si ringrazia infinitamente della v/s colaborazione.
Ciao e grazie ancora.
geri21
Utente Junior
 
Post: 54
Iscritto il: 24/07/08 07:32

Re: Errore di run-time 1004

Postdi geri21 » 27/02/10 09:44

L'errore di run-time postato il 25/02/10 11:44 è stato risolto sostituendo nella marco le 2 voci "Foglio1" con la
denominazione reale del foglio stesso. In questo caso "Torneo".
Saluti cordiale e grazie della vostra collaborazione.
geri21
Utente Junior
 
Post: 54
Iscritto il: 24/07/08 07:32

Re: Errore di run-time 1004

Postdi Flash30005 » 27/02/10 11:46

geri21 ha scritto:L'errore di run-time postato il 25/02/10 11:44 è stato risolto sostituendo nella marco le 2 voci "Foglio1" con la denominazione reale del foglio stesso. In questo caso "Torneo".

Flash30005 il 22/02/10 22:04 ha scritto:L'errore 1004 normalmente è dovuto a:
1) il foglio che si sta "chiamando" con la macro non è attivo (magari è visualizzato un altro foglio)
oppure...

:D
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Errore di run-time 1004

Postdi geri21 » 28/02/10 10:43

Seguendo i vostri suggerimenti ho istallato la macro che mi avete mandato assegnandola a dei pulsanti.
Nelle prove di funzionamento risultava tutto perfetto !!!
Alla successiva accensione del pc le stesse macro mi davano "Errore di run-time 9 Indice non incluso nell'intervallo".
Di mia iniziativa ho sostituito le voci "Foglio1" in "Torneo" e tutto rifunzionava come desiderato.
Alla ricezione del vostro ultimo post era mia intenzione inviare la macro così modificata, purtroppo il foglio non accetta più la pass inserita a protezione, quindi tutto il lavoro è andato perduto. Fortunatamente ho delle copie !!!
Comunque se mi fornite un indirizzo di posta o indicazioni per allegare il file lo invio volentieri.
Siete molto gentili e disponibile, grazie, grazie.
geri21
Utente Junior
 
Post: 54
Iscritto il: 24/07/08 07:32


Torna a Applicazioni Office Windows


Topic correlati a "Errore di run-time 1004":


Chi c’è in linea

Visitano il forum: Nessuno e 51 ospiti