Condividi:        

Bottone per azzerare celle

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

Bottone per azzerare celle

Postdi chicolocox21 » 07/10/11 16:24

Ciao ragazzi
mi potete aiutare a creare un bottone che mi vada a cancellare il contenuto di celle da me determinate ad esempio b1 b2 b3 c5 ecc.ecc.
o in alternativa tutte le celle non bloccate di un foglio bloccato
ciao
windows 7 - office 2013
Avatar utente
chicolocox21
Utente Junior
 
Post: 44
Iscritto il: 16/02/07 11:34
Località: MILANO

Sponsor
 

Re: Bottone per azzerare celle

Postdi Flash30005 » 07/10/11 18:46

Puoi utilizzare questa macro per cancellare le singole celle sparse nel foglio
Macro che puoi ottenere con registratore di macro e selezionando, tenendo premuto il tasto Ctrl e ogni cella
quando hai completato la selezione premi Can (o cancella tutto) e fermi la macro
Poi avvi la macro con un pulsante di comando

Codice: Seleziona tutto
Sub CancellaCelle()
    Range("B2,E5,D8,B11,I17,J8,G16,H8,D13,B20,E14,F8,H4,K5,L13,K20,E27,E22,D19,C26,G27").Clear
End Sub


Oppure prendere il codice qui sopra postato inserendo i tuoi riferimenti alle celle da cancellare

Altra soluzione è cancellare solo le celle sbloccate su foglio protetto con questa macro

Codice: Seleziona tutto
Sub CancellaSbloccate()
Dim zona As Range
Set zona = Range("A1:P45")   '<<<< inserisci qui  il tuo range
    For Each cl In zona
    If cl.Locked = False Then cl.Clear
Next
End Sub


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: Bottone per azzerare celle

Postdi chicolocox21 » 11/10/11 13:46

scusate il ritardo nel rispondere
allora....ho creato un bottone a cui ho collegato la macro
le macro funzionano solo che
la prima funziona solo se il foglio non è protetto ed io sono costretto a proteggerlo :( :(
la seconda funziona con il foglio protetto ma il problema è che poi mi blocca le celle e mi toglie le impostazioni(colore) e non posso riutilizzarle se non sproteggo il foglio
visto she le celle sbloccate conterranno numeri sarebbe possibile invece di cancellare il contenuto dirgli di mettere 0
ciao grazie
windows 7 - office 2013
Avatar utente
chicolocox21
Utente Junior
 
Post: 44
Iscritto il: 16/02/07 11:34
Località: MILANO

Re: Bottone per azzerare celle

Postdi Flash30005 » 11/10/11 17:04

La tua richiesta era di cancellare le celle sbloccate
In excel esistono diversi tipi di cancellazione e il .clear significa cancella tutto

Se vuoi cancellare solo il valore contenuto (senza il formato) allora puoi usare questa macro (varia solo un codice)
Codice: Seleziona tutto
Sub CancellaSbloccate2()
Dim zona As Range
Set zona = Range("A1:P45")   '<<<< inserisci qui  il tuo range
    For Each cl In zona
    If cl.Locked = False Then cl.ClearContents
Next
End Sub

Se invece vuoi inserire 0 alle celle sbloccate variando di nuovo il codice ottieni 0 (zero)
Codice: Seleziona tutto
Sub AzzeraCelleSbloccate()
Dim zona As Range
Set zona = Range("A1:P45")   '<<<< inserisci qui  il tuo range
    For Each cl In zona
    If cl.Locked = False Then cl.FormulaR1C1 = "0"
Next
End Sub


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: Bottone per azzerare celle

Postdi leopardo1971 » 31/10/11 11:54

Ciao a tutti, sono arrivato a questo post perchè cercavo una soluzione al mio problema simile a quello proposto qui.

La macro è ottima, ma nel caso in cui nel foglio ci siano celle unite da cancellare, si blocca con questo messagio:

Errore run-time "1004" Impossibile modificare una parte di una cella unita.

Come si può risolvere?

Grazie.
leopardo1971
Newbie
 
Post: 2
Iscritto il: 31/10/11 11:49

Re: Bottone per azzerare celle

Postdi Flash30005 » 31/10/11 17:11

Ciao Leopardo1971 e benvenuto nel Forum

devi modificare solo la riga codice
Codice: Seleziona tutto
If cl.Locked = False Then cl.ClearContents

In
Codice: Seleziona tutto
If cl.Locked = False Then cl.Clear

La funzione Clear rispetto al ClearContents cancella tutto (anche le formattazioni)
quindi dopo, se occorrono, dovrai ricrearle.

In ogni caso le celle unite sono sempre sconsigliate, è più opportuno allargare o allungare una cella invece di unirne due

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: Bottone per azzerare celle

Postdi leopardo1971 » 01/11/11 17:21

No, le formattazioni non posso perderle ogni volta, sono fondamentali nella mia applicazione. Per quanto riguarda le celle unite, in base a quello che si deve rappresentare, è impossibile non averle...

Io, comunque ho ripiegato con una soluzione un po' grezza, ma efficace una macro contenente tutte le celle da cancellare

Codice: Seleziona tutto
Sub Cancella ()
Range("A1:A2,B2:B12").ClearContents   '<<<< contenente tutte le celle da cancellare
End Sub


E' laboriosa da creare, ma funziona. Non si perde la formattazione e non ha problemi con le celle unite.

Grazie e complimenti a tutti.
leopardo1971
Newbie
 
Post: 2
Iscritto il: 31/10/11 11:49


Torna a Applicazioni Office Windows


Topic correlati a "Bottone per azzerare celle":


Chi c’è in linea

Visitano il forum: Nessuno e 58 ospiti