Condividi:        

EXCEL - AIUTO !!! - Cancellazione 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

EXCEL - AIUTO !!! - Cancellazione celle

Postdi teppista » 30/08/07 15:08

Ciao a tutti!

il mio problema é il seguente:

devo cancellare il valore all'interno di una cella quando avviene una una condizione in un'altra.

ossia: se io metto "S" come valore sulla cella C16, devo cancellare qualsiasi valore ci sia nella cella C18

attenzione però, devo sempre essere in grado di mettere un valore nella cella C18 perchè lo uso per altri calcoli.

grazie per l'aiuto !!
teppista
Newbie
 
Post: 9
Iscritto il: 30/08/07 08:16

Sponsor
 

Postdi Anthony47 » 30/08/07 22:47

Ciao teppista e benvenuto nel forum.
Il problema posto lo puoi risolvere con una macro che scatta sull’ evento Worksheet_Change, verifica se il cambiamento e’ avvenuto in C16, e se in C16 c’ e’ “S” azzera C18. Ad esempio:

Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$C$16" Then Exit Sub
If Target.Value <> "S" Then Exit Sub
Application.EnableEvents = False
Range("C18").ClearContents
Application.EnableEvents = True
End Sub


Va caricata sul modulo di codice del foglio che stai usando: tasto dx sul tab del nome del foglio, scegli Visualizza codice; incolla le istruzione nel frame di dx del vba editor che viene aperto.

Comunque ci sono state varie discussioni con un tema analogo, ad esempio guarda queste:
http://www.pc-facile.com/forum/viewtopic.php?t=64356
http://www.pc-facile.com/forum/viewtopic.php?t=47062

Fai sapere se quanto proposto e’ ok per te.
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

EXCEL - Cancellazione celle

Postdi teppista » 31/08/07 14:19

grazie per il suggerimento ma sono completamente digiuno...

ho provato a copiarlo ed incollarlo dove hai detto ma non funziona ...

devo fare qualche cosa per attivarlo?

grazie
teppista
Newbie
 
Post: 9
Iscritto il: 30/08/07 08:16

Postdi Anthony47 » 31/08/07 23:39

Mah, prova a vedere se per caso hai le macro disabilitate:
Menu /Strumenti /Macro /Protezione; spunta la voce "Media" e chiudi con Ok; salva e riapri il file.

Ri-verifica che il codice e' sul foglio su cui lavori, non su altro foglio del file: tasto dx sul tab del nome foglio, scegli "Visualizza codice", controlla che sul frame di dx della finestra del vba che ti si apre ci sia solo il "nostro" codice; se invece c' e' anche altro, postalo.

Ciao, facci sapere.
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

EXCEL - AIUTO !!! - Cancellazione celle

Postdi teppista » 04/09/07 15:21

scusate il ritarto con cui rispondo... il lavoro nobilita l'uomo...sarà....

in realtà non mi sono espresso bene nella mia richiesta:

vorrei che quando scrivo"s" sulla cella c16 le celle c18 e c19 fossero svuotate del contenuto ed abilitate alla scrittura. quando scrivo "n" allora solo svuotate.

i valori che scrivo sulle celle c18 e c19 mi servono ovviamente per fare ulteriori calcoli.

spero che sia abbastanza chiaro

temo che la pazienza non sia mai abbastanza con i neofiti....

grazie
teppista
Newbie
 
Post: 9
Iscritto il: 30/08/07 08:16

Postdi Anthony47 » 05/09/07 00:26

Prendo atto delle nuove specifiche.
Con questa azzeri C18 e C19 se in C16 scrivi “s” oppure “n” (senza virgolette, minuscolo); inoltre se C16 contiene “n” le celle C18 e C19 vengono continuamente azzerate, impedendo cosi’ la loro compilazione.
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Range("C16").Value = "n" Then Range("C18:C19").ClearContents
If Target.Address <> "$C$16" Then GoTo esci
If Target.Value <> "s" And Target.Value <> "n" Then GoTo esci
Application.EnableEvents = False
Range("C18:C19").ClearContents
esci:
Application.EnableEvents = True
End Sub


Va gestita come la macro data precedentemente (che va cancellata).

Ho preferito adottare questa soluzione invece che proteggere le celle perche’ la protezione celle + foglio comporta sempre delle limitazioni per l’ utente.

Facci sapere, ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

EXCEL - AIUTO !!! - Cancellazione celle - GRAZIE !!!!

Postdi teppista » 05/09/07 09:03

Perfetto !!!


é per questo che mi piace internet...


sconosciuti che si aiutano.....Fantastico


Grazie ancora!
teppista
Newbie
 
Post: 9
Iscritto il: 30/08/07 08:16

EXCEL - AIUTO !!! - Cancellazione celle - modifica macro

Postdi teppista » 05/09/07 10:04

ho provato a smanettare per capire come funziona...

vorrei poter cancellare la cella B25 qualsiasi valore io metta sulla culla cella C15

in alternativa vorrei poter cancellare il valore di un certo numero di celle all'apertura del file excel.

mantenendo comunque la macro già sviluppata

ecco cosa ho provato a fare ma ovviamente non funzia...

grazie


Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = "$c$15" Then GoTo azzera
If Range("C16").Value = "n" Then Range("C18:C19").ClearContents
If Target.Address <> "$C$16" Then GoTo esci
If Target.Value <> "s" And Target.Value <> "n" Then GoTo esci
Application.EnableEvents = False
Range("C18:C19:D20").ClearContents
esci:
Application.EnableEvents = True
azzera:
Range("B25").ClearContents
End Sub
teppista
Newbie
 
Post: 9
Iscritto il: 30/08/07 08:16

Postdi Anthony47 » 05/09/07 22:36

Intanto deduco che la macro postata ieri sera funziona anche per te.

Per quanto riguarda la macro modificata, direi che piu’ che non funzionare blocca la gestione di tutti gli eventi (effetto di Application.EnableEvents = False non seguita da Application.EnableEvents = True quando chiami “azzera”).
Se vuoi identificare piu’ eventi all’ interno della stessa macro, va bene l’ approccio “If target.address = "Questo” vai-a Gestisci-questo"

Ma ogni gestore deve poi terminare con:
Application.EnableEvents = True
Exit Sub

Oppure lasci in fondo
esci:
Application.EnableEvents = True
End Sub

E ogni gestore termina con
GoTo esci

Vedi anche come si puo’ debuggare una macro:
http://www.pc-facile.com/forum/viewtopic.php?t=65537

Penso che chiudendo e riaprendo il file (o excel) si riabiliti la gestione degli eventi. Se cosi’ non fosse (cioe’ la macro, anche quella originale, non parte):
-dal foglio su cui controlli i valori, tasto dx sul tab col nome del foglio; scegli Visualizza codice
-dal vba editor, premi Contr-g per aprire il riquadro “Immediata”, e nella posizione del cursore digita
Codice: Seleziona tutto
Application.EnableEvents = True


-poi puoi chiudere con la x il riquadro Immediata e tornare su excel per le prove.

Ciao, fai sapere se e’ ok o serve altro.
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Oggetto: EXCEL - AIUTO !!! - Cancellazione celle

Postdi teppista » 06/09/07 12:39

Ciao anthony47.

le tue informazioni sono state utili a capirne un po' di più, purtroppo la macro non fa ciò che io credevo. Mi sono espresso male temo.

ciò che devo fare é:

integrare un comando che all'apertura del file mi cancelli tutti i dati presenti in alcune celle.

questo mantenendo la prima macro di cancellazione con valori "s" e "n" che funziona benissimo e fa ciò che deve.

riassumendo:

apro il file e si cancellano i dati nelle celle b25 e c25

quando scrivo"s" o "n" sulla cella c16 le celle c18 e c19 vengono svuotate del contenuto (prima macro da te corretta che funziona benissimo)

grazie!
teppista
Newbie
 
Post: 9
Iscritto il: 30/08/07 08:16

EXCEL - AIUTO !!! - Cancellazione celle

Postdi teppista » 06/09/07 16:48

Evviva !!!

ce l'ho fatta !!!

ho utilizzato:

Private Sub Workbook_Open()
cancella
End Sub

é un metodo che funziona...e tanto mi basta...ma era possibile farlo in modo migliore??

grazie per il prezioso aiuto!!
teppista
Newbie
 
Post: 9
Iscritto il: 30/08/07 08:16

Postdi Anthony47 » 07/09/07 02:33

Non si potrebbe fare di meglio, quindi complimenti due volte.

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

EXCEL - AIUTO !!! - Cancellazione celle

Postdi teppista » 07/09/07 15:58

Grazie a TE!

ora vorrei implementare una macro di stampa... (pippone mentale!)

innanzitutto vorrei che mi comparisse una finestra che mi chieda il titolo del documento. un titolo a caso che metto io ogni volta, cioé un riferimento del calcolo che ho appena compiuto,

poi vorrei poter stampare solo il valore di alcune celle precedute da una etichetta.

non ho la più pallida idea di dove cominciare... non é che potresti indirizzarmi su qualche link del forum che così provo a smanettare??

adesso scrivendo questo messaggio mi é però venuta una idea:

esiste un comando che io posso lanciare con una macro che fa stampare un foglio excel dove ho riportato le celle e le etichette che mi interessano??

così dovrei solo trovare il sistema di far comparire la finestrella per il titolo..

che dici?? sono sulla strada giusta?


grazie!
teppista
Newbie
 
Post: 9
Iscritto il: 30/08/07 08:16

Postdi Anthony47 » 09/09/07 23:42

Se le “etichette” sono tutte nella stessa colonna, potresti usare il filtro automatico:
A)selezioni tutta la colonna, poi Menu /Dati /Filtro /Filtro automatico
B)poi ti registri una macro mentre:
>assegni il filtro sul valore “Non vuote”
>avvii File /Imposta pagina; qui personalizzi Intestazioni o pie’ di pagina con un nome di fantasia
>avvii ed esegui la stampa.
>infine porti il filtro su “Tutto”
C)poi consulti il codice prodotto e localizzi l’ istruzione XX che assegna il nome di fantasia
D)in testa al codice inserisci una inputbox in cui chiedi il nome da assegnare al foglio [es:
Codice: Seleziona tutto
Nome = InputBox("Dimmi il titolo??")
] e nell’ istruzione XX usi poi la variabile Nome invece della stringa.

In questo modo quando lanci questa macro autoprodotta solo le righe che hanno una etichetta nella colonna filtrata saranno stampate.

Puo’ funzionare? Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "EXCEL - AIUTO !!! - Cancellazione celle":


Chi c’è in linea

Visitano il forum: Nessuno e 22 ospiti