Condividi:        

Confronto tra due celle, a valore diverso cancella contenuto

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

Confronto tra due celle, a valore diverso cancella contenuto

Postdi Gabri08 » 29/05/17 13:09

Salve a tutti, su foglio di Excel dovrei confrontare le celle della colonna G con le rispettive della colonna K.
Se in K c'è un valore e K=G mantengo valore in G, se K è diverso da G, cancello il contenuto della cella G (deve sembrare vuota)
Le celle di G e K non contengono formule.
Grazie per l'aiuto.
Gabri08
Utente Junior
 
Post: 22
Iscritto il: 21/05/17 05:35

Sponsor
 

Re: Confronto tra due celle, a valore diverso cancella conte

Postdi patel » 29/05/17 14:31

anche qui sarebbe utile un file con i dati ed il risultato desiderato
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: Confronto tra due celle, a valore diverso cancella conte

Postdi Anthony47 » 29/05/17 16:58

Senza conoscere la struttura dati posso solo "sparare":
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column = 7 Or Target.Column = 11 Then
    If Cells(Target.Row, "G") <> Cells(Target.Row, "K") And Cells(Target.Row, "K") <> "" Then
    Application.EnableEvents = False
        Cells(Target.Row, "G").ClearContents
    Application.EnableEvents = True
    End If
End If
End Sub

Va inserita nel "Modulo di codice vba" del foglio su cui lavori: Tasto dx sul tab col nome del foglio, scegli Visualizza codice; inserisci il codice nel frame di dx della finestra che si apre.

Poi torni sul foglio di lavoro e provi.

Per le istruzioni su come allegare un file:
viewtopic.php?f=26&t=103893&p=605487#p605487

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

Re: Confronto tra due celle, a valore diverso cancella conte

Postdi Gabri08 » 29/05/17 22:30

Grazie Anthony, ho provato ma non sono riuscita a fare eseguire la macro che mi hai suggerito. Purtroppo è il primo lavoro che faccio e sono ancora all'abc.. ho tutto da imparare :( , questo il link al mio file https://we.tl/wYhhvC5F6K. grazie
Gabri08
Utente Junior
 
Post: 22
Iscritto il: 21/05/17 05:35

Re: Confronto tra due celle, a valore diverso cancella conte

Postdi Anthony47 » 29/05/17 23:49

Il codice e' correttamente posizionato nel "modulo di codice" del foglio VARIAZIONI; una copia e' anche presente in Modulo1 e va rimossa.
A questo punto vai su VARIAZIONI e manipola il contenuto di colonna G o colonna K; se K <> G allora G viene cancellata

Che e' quanto chiedevi.

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

Re: Confronto tra due celle, a valore diverso cancella conte

Postdi Gabri08 » 30/05/17 11:55

Ciao grazie ma, io non devo manipolare il contenuto della celle, i valori sono già inseriti poiché tutto il fogloo è estrapolato da un gestionale. Devo confrontare dati esistenti e se diversi cancellare.. forse non avevo capito quando mi hai chiesto se le celle contenevano formule..
Gabri08
Utente Junior
 
Post: 22
Iscritto il: 21/05/17 05:35

Re: Confronto tra due celle, a valore diverso cancella conte

Postdi Anthony47 » 30/05/17 18:11

Forse ora ho capito... Metti questa macro in Modulo1
Codice: Seleziona tutto
Sub CkGK()
Dim I As Long
'
Sheets("VARIAZIONI").Select
For I = 2 To Cells(Rows.Count, "K").End(xlUp).Row
    If Cells(I, "G") <> Cells(I, "K") And Cells(I, "K") <> "" Then
        Cells(I, "O") = Cells(I, "G")       '<<<
        Cells(I, "G").ClearContents
    End If
Next I
End Sub

Eseguila quando ti serve.

Nota che, per motivi di audit, la macro mette in colonna O il valore di colonna G prima di procedere a cancellarlo.
Se non ti interessa sapere cosa ha fatto la macro allora elimina la riga marcata <<<; se non puoi usare la colonna O allora cambia O in un'altra colonna certamente libera.

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

Re: Confronto tra due celle, a valore diverso cancella conte

Postdi Gabri08 » 06/06/17 14:26

Ciao, le istruzioni che mi ha dato funzionavano benissimo, solo che ora ho un altro foglio sul quale devo far eseguire le stesse macro e funzionano tutte, tranne questo passaggio che mi da "indice non incluso nell'intervallo". Il foglio base, dal quale parto a far eseguire le macro ha sempre lo stesso nome. Dove potrebbe essere l'errore? grazie!!
Gabri08
Utente Junior
 
Post: 22
Iscritto il: 21/05/17 05:35

Re: Confronto tra due celle, a valore diverso cancella conte

Postdi Anthony47 » 07/06/17 00:40

Ciao, le istruzioni che mi ha dato funzionavano benissimo, solo che ora ho un altro foglio sul quale devo far eseguire le stesse macro e funzionano tutte, tranne questo passaggio che mi da "indice non incluso nell'intervallo". Il foglio base, dal quale parto a far eseguire le macro ha sempre lo stesso nome. Dove potrebbe essere l'errore? grazie!!

Avresti pero' dovuto dire quale e' "codesto passaggio" che ti da errore.
Tuttavia in quel codice il fattaccio puo' succedere solo nella riga Sheets("VARIAZIONI").Select
Quindi la mi domanda e': ma tu un foglio chiamato Variazioni, nella cartella di lavoro in uso, ce l'hai oppure no?

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

Re: Confronto tra due celle, a valore diverso cancella conte

Postdi Gabri08 » 07/06/17 05:05

Ciao, si il foglio VARIAZIONI esiste.
L'errore mi appare come pop up, quindi non ho possibilità di vedere quale sia la riga incriminata. Il foglio ha le stesse caratteristiche del precedente e l'ordine di esecuzione macro lo stesso.. potrebbe per caso essere il sistema operativo Windows 10 e Windows 13?
Gabri08
Utente Junior
 
Post: 22
Iscritto il: 21/05/17 05:35

Re: Confronto tra due celle, a valore diverso cancella conte

Postdi Gabri08 » 07/06/17 08:53

Scusa problemino.. le varie macro che ho creato, sono nel foglio PERSONAL, e quindi attive su tutti i fogli che apro, però ora, anche se ho tolto i comandi di scelta rapida CTRL + ..., ad esempio utilizzano CTRL+c per copiare, mi numera in automatico la prima colonna.. è possibile non attivare le macro su tutti i fogli, o per far questo devo averle solo nel foglio dove le devo utilizzare? grazie
Gabri08
Utente Junior
 
Post: 22
Iscritto il: 21/05/17 05:35

Re: Confronto tra due celle, a valore diverso cancella conte

Postdi Anthony47 » 07/06/17 11:42

Non potete non seguire le istruzioni e poi chiedere di debuggare quel che avete fatto sul vostro computer :evil: Pero' potete sempre spedire il pc con 2 banconote da 100 al mio indirizzo :diavolo:

Comunque il popup dovrebbe offrirti le opzioni Fine o Debug; premi Debug e visualizza l'istruzione che da' l'errore
Quando sei in debug fai uno screenshot da cui si veda la riga in errore e l'intero codice della macro, e pubblicalo.
Per le istruzioni su come allegare una immagine:
viewtopic.php?f=26&t=103893&p=605488#p605488

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

Re: Confronto tra due celle, a valore diverso cancella conte

Postdi Gabri08 » 07/06/17 12:21

Scusa, è vero che non son per nulla esperta, forse mi sono espressa male ma, come ti ho scritto, non esce nessuna scritta di debug... ma solo un popup con la scritta "indice non incluso nell'intervallo" e se premi OK si chiude e non succede nulla, non ti presenta la il listato con evidenziato dove si trova il blocco.. io ho seguito le tue istruzioni, infatti sul foglio precedente funziona.
Gabri08
Utente Junior
 
Post: 22
Iscritto il: 21/05/17 05:35

Re: Confronto tra due celle, a valore diverso cancella conte

Postdi Anthony47 » 07/06/17 12:42

Immagine

Fai uno screenshot del codice della macro da cui si veda l'albero dei file e dei moduli vba presenti (1), il nome del Modulo in cui si trova il codice (2), e il codice della macro; poi pubblicalo.
Hai protetto con password il "progetto vba"?
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Confronto tra due celle, a valore diverso cancella conte

Postdi Gabri08 » 07/06/17 14:24

Scusa, problema risolto, probabilmente era un problema legato alla versione office 2013, ora funziona.
Unica cosa che dovrei aggiungere un istruzione ovvero la parte scritta in MAIUSCOLO -
"Se in K c'è un valore e K=G mantengo valore in G, se K è diverso da G OPPURE VUOTA, cancello il contenuto della cella G (deve sembrare vuota). Grazie.
Gabri08
Utente Junior
 
Post: 22
Iscritto il: 21/05/17 05:35

Re: Confronto tra due celle, a valore diverso cancella conte

Postdi Anthony47 » 08/06/17 02:02

Lieto di leggere che il problema e' miracolosamente superato.

Quanto alla nuova richiesta ti chiederei quindi di riepilogare l'elenco completo delle situazioni da controllare e delle relative azioni da intraprendere.

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

Re: Confronto tra due celle, a valore diverso cancella conte

Postdi Gabri08 » 08/06/17 04:38

Cia grazie, riassumo qui cosa dovrei fare.
Su di un foglio chiamato VARIAZIONI contenente dati estrapolati da un gestionale (io non devo inserire dati), devo confrontare le celle di due colonne, più precisamente, confrontare le celle della colonna G con le rispettive della colonna K.
Se in K c'è un valore e K=G mantengo valore in G, se K è diverso da G oppure K è vuota (nessuna scritta nella cella K), cancello il contenuto della cella G (deve sembrare vuota).
La macro che mi hai scritto sopra va benissimo, unica cosa che dovrei aggiungere è di svuotare G anche quando K non contiene nulla, e va benissimo spostare in O il valore preesistente di G.
Non so se mi sono spiegata.. grazie.
Gabri08
Utente Junior
 
Post: 22
Iscritto il: 21/05/17 05:35

Re: Confronto tra due celle, a valore diverso cancella conte

Postdi Gabri08 » 08/06/17 07:46

Ciao, prova e riprova, ho risolto. Ho sostituito <> "" con = <>.

If Cells(I, "G") <> Cells(I, "K") And Cells(I, "K") = "" Then

Sicuramente per molti una cosa banalissima, per me che è la prima volta che cerco di fare delle macro, non tanto..
Ora dovrebbe essere tutto a posto.
Ringrazio per il preziosissimo supporto!!
Ciao.
Gabri08
Utente Junior
 
Post: 22
Iscritto il: 21/05/17 05:35


Torna a Applicazioni Office Windows


Topic correlati a "Confronto tra due celle, a valore diverso cancella contenuto":

BTp Valore
Autore: MarioLombardi
Forum: Forum off-topic
Risposte: 2

Chi c’è in linea

Visitano il forum: Nessuno e 41 ospiti