Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Excel azione su cambio elenco

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

Excel azione su cambio elenco

Postdi Marco75CT » 06/03/15 16:12

Ciao a tutti,
su un foglio che chiameremo "home" dovrei far cancellare una serie di celle (J30:J36;N30:N36;R30:R36) al variare della cella "G30".
Come faccio?
Grazie
Marco75CT
Utente Senior
 
Post: 143
Iscritto il: 05/08/11 11:54

Sponsor
 

Re: Excel azione su cambio elenco

Postdi ricky53 » 06/03/15 16:21

Ciao,
come te la cavi con il VBA?

Quali sono le regole per cancellare le celle?
Scrivele.
Esempio :
se "G30" contiene ".." allora cancella la cella "nn" o l'intervallo "nn:nn"
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Excel azione su cambio elenco

Postdi Marco75CT » 06/03/15 16:55

Ciao Ricky,
in effetti, con un po' di sforzo, ho risolto da solo.
Mi dici se ho seguito la strada corretta?
In Questa_cartella_di_lavoro ho inserito il seguente codice:

Codice: Seleziona tutto
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Intersect(Target, Range("G30")) Is Nothing Then Exit Sub
    Range("I30:I36").Select
    Selection.ClearContents
    Range("L30:L36").Select
    Selection.ClearContents
    Range("O30:O36").Select
    Selection.ClearContents
End Sub


Il risultato è proprio quello voluto.

Grazie
Marco75CT
Utente Senior
 
Post: 143
Iscritto il: 05/08/11 11:54

Re: Excel azione su cambio elenco

Postdi ricky53 » 06/03/15 19:00

Ciao,
bene per aver provato e trovato una soluzione.
Domande:
il codice lo hai scritto in "ThisWorkbook"?
In questo modo viene attivo su tutti i fogli e si attiva ad "OGNI" cambiamento o cancellazione di dati fatta ing "G30".
Tu volvei proprio questo ?

Inoltre avendo utilizzato ".Select" il codice viene richiamato tre volte, una per Select, te ne puoi accorgere se metti un punto di interruzione all'inizio del codice (con "F9", posizionandoti sull'IF).
Occorre disabilitare gli eventi del foglio.


Io ti consiglio questo codice da mettere in un foglio, quello dove tu operi:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
     If Not Intersect(Target, Range("G30")) Is Nothing Then
        Application.EnableEvents = False
        Range("I30:I36,L30:L36,O30:O36").ClearContents
        Application.EnableEvents = True
    End If
End Sub


E' più semplice ...
Se invece vuoi che il codice si attivi su ogni foglio allora utilizza questa versione
Codice: Seleziona tutto
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)   
    If Not Intersect(Target, Range("G30")) Is Nothing Then
        Application.EnableEvents = False
        Range("I30:I36,L30:L36,O30:O36").ClearContents
        Application.EnableEvents = True
    End If
End Sub
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Excel azione su cambio elenco

Postdi Marco75CT » 08/03/15 11:20

Ciao Ricky,
sia che inserisca il primo codice nel worksheet che il secondo nel workbook, al variare della cella G30 non succede niente.
Come si spiega?
Marco75CT
Utente Senior
 
Post: 143
Iscritto il: 05/08/11 11:54

Re: Excel azione su cambio elenco

Postdi ricky53 » 09/03/15 01:04

Ciao,
strano, molto strano.

Tu hai copiato in un foglio il primo codice e poi hai cambiato il valore della cella G30?
Le celle I30:36, L30:L36 e O30:O36 contengono dei dati?

Per verificare come lavora il codice metti una "interruzione" (con i tasto "F9") sull'If e poi cambia il valore di G30, vai avanti con F8 e segui le istruzioni evidenziate in giallo.
Dicci quali istruzioni vengono eseguite.



P.S.: hai fatto le prove che ti avevo detto di fare sul tuo codice ???
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Excel azione su cambio elenco

Postdi Anthony47 » 11/03/15 15:06

Marco, il problema l'hai poi risolto?
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel azione su cambio elenco

Postdi Marco75CT » 13/03/15 19:18

Ciao Anthony e Ricky,
vi chiedo scusa per il ritardo, ma a causa del lavoro sono stato fuori città.
Questo w-end ci studio e vi faccio sapere.
Grazie
Marco75CT
Utente Senior
 
Post: 143
Iscritto il: 05/08/11 11:54


Torna a Applicazioni Office Windows


Topic correlati a "Excel azione su cambio elenco":


Chi c’è in linea

Visitano il forum: Nessuno e 19 ospiti