Condividi:        

Confronto tra più celle (di testo) in diverse righe e colonn

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

Re: Confronto tra più celle (di testo) in diverse righe e co

Postdi Anthony47 » 22/01/17 00:19

W&G, io pero' non sono certo che con quel sistema risolvi; ad esempio nel tuo file si puo' copiare Mario da D3 e incollarlo in E4, distruggendo irreversibilmente la formula che lega E4 al capostipite e creando una evidente incompatibilita' per il martedi' e gg successivi con Mario al lavoro sia su Macchina1 che su macchina2.

Inoltre immagino che recuperare una situazione di emergenza (sostituire un'assenza imprevista) possa anche essere fatta violando qualche regola; quindi secondo me va bene evidenziare l'errore ma e' utile lasciare all'operatore la scelta finale.

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

Sponsor
 

Re: Confronto tra più celle (di testo) in diverse righe e co

Postdi wallace&gromit » 22/01/17 11:06

Giusto, infatti nel mio ultimo commento facevo dietrofront e proponevo una struttura di macro, che per il momento non ho il tempo e forse nemmeno le capacità di allestire.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: Confronto tra più celle (di testo) in diverse righe e co

Postdi Anthony47 » 23/01/17 01:04

La macro autoregistrata non sara' la cosa piu' efficiente ma dovrebbe risolvere il problema denunciato.

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

Re: Confronto tra più celle (di testo) in diverse righe e co

Postdi Zinco83 » 23/01/17 11:30

Anthony47 ha scritto:La macro autoregistrata non sara' la cosa piu' efficiente ma dovrebbe risolvere il problema denunciato.

Ciao

Ciao Anthony,
ho utilizzato il metodo della macro autoregistrata da te proposto e devo dire che per ora è certamente la soluzione migliore. Ho impostato come tasto di richiamo della macro Ctrl+r, così facendo si aggiorna il foglio e diventa tutto più comprensibile.
Qualche post più indietro parlavi della possibilità di rendere il foglio più "movimentato" utilizzando l'evento Worksheet_Change, mi puoi spiegare come poter applicare questa modifica e come funziona?
Ti ringrazio (a te e a tutti quelli che hanno partecipato al thread)!
Zinco83
Utente Junior
 
Post: 14
Iscritto il: 16/01/17 14:55

Re: Confronto tra più celle (di testo) in diverse righe e co

Postdi ricky53 » 23/01/17 11:58

Ciao,
un esempio di utilizzo di Worksheet_Change
Codice: Seleziona tutto
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Intervallo As String
    Intervallo = "$A$1:$D$10"
    If Not Intersect(Target, Range(Intervallo)) Is Nothing Then
        Call TUA_Macro(Intervallo)
    End If
End Sub


Sub TUA_Macro(Intervallo)
    MsgBox Intervallo
End Sub


Come procedere:
1. Tasto destro sul TAB Foglio1,
2. seleziona Visualizza Codice
3. copia il codice che ti ho inviato
4. scrivi qualcosa un una cella dell'intervallo A1:D10 e ....


Io ho fatto l'esempio passando un parametro alla macro ma NON è necessario utilizzare il parametro.


Adatta il codice alla tua esigenza richiamando la "TUA_Macro" effettiva nella modalità che più ti occorre.
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. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Confronto tra più celle (di testo) in diverse righe e co

Postdi Zinco83 » 23/01/17 12:41

ricky53 ha scritto:Ciao,
un esempio di utilizzo di Worksheet_Change
Codice: Seleziona tutto
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Intervallo As String
    Intervallo = "$A$1:$D$10"
    If Not Intersect(Target, Range(Intervallo)) Is Nothing Then
        Call TUA_Macro(Intervallo)
    End If
End Sub


Sub TUA_Macro(Intervallo)
    MsgBox Intervallo
End Sub


Come procedere:
1. Tasto destro sul TAB Foglio1,
2. seleziona Visualizza Codice
3. copia il codice che ti ho inviato
4. scrivi qualcosa un una cella dell'intervallo A1:D10 e ....


Io ho fatto l'esempio passando un parametro alla macro ma NON è necessario utilizzare il parametro.


Adatta il codice alla tua esigenza richiamando la "TUA_Macro" effettiva nella modalità che più ti occorre.

Grazie Ricky, ma così facendo ad ogni modifica mi appare un messaggio con la scritta dell'intervallo, non si può eliminare?
Zinco83
Utente Junior
 
Post: 14
Iscritto il: 16/01/17 14:55

Re: Confronto tra più celle (di testo) in diverse righe e co

Postdi ricky53 » 23/01/17 16:39

Ciao,
al posto del messaggio devi inserire la TUA MACRO come scritto
Adatta il codice alla tua esigenza richiamando la "TUA_Macro" effettiva nella modalità che più ti occorre.


Ossia devi copiare il tuo codice che hai prodotto con il registratore di macro.


Devi anche cambiare l'intervallo scrivendo il tuo effettivo intervallo.
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. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Confronto tra più celle (di testo) in diverse righe e co

Postdi Zinco83 » 23/01/17 16:55

ricky53 ha scritto:Ciao,
al posto del messaggio devi inserire la TUA MACRO come scritto
Adatta il codice alla tua esigenza richiamando la "TUA_Macro" effettiva nella modalità che più ti occorre.


Ossia devi copiare il tuo codice che hai prodotto con il registratore di macro.


Devi anche cambiare l'intervallo scrivendo il tuo effettivo intervallo.

La mia macro, come suggerito da Anthony, si chiama "Riform".
Al posto di "Tua_Macro" ho messo Riform (modificando anche gli intervalli), quindi diventa:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Intervallo As String
Intervallo = "$A$1:$BD$100"
If Not Intersect(Target, Range(Intervallo)) Is Nothing Then
Call Riform(Intervallo)
End If
End Sub


Sub Riform(Intervallo)
MsgBox Intervallo
End Sub

Questo codice è scritto sul Foglio1 (tasto dx su foglio1, visualizza codice), è corretto?
Così facendo, in realtà, non mi cambia nulla perché ad ogni modifica del foglio devo comunque premere ctrl+r per far partire la macro Riform ed aggiornarmi quindi il foglio.
Dove sbaglio?
Zinco83
Utente Junior
 
Post: 14
Iscritto il: 16/01/17 14:55

Re: Confronto tra più celle (di testo) in diverse righe e co

Postdi Anthony47 » 23/01/17 17:32

Calma e sangue freddo.

La posizione della macro e' giusta
Il codice modificalo come segue:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Intervallo As String
    Intervallo = "$A$1:$D$10"
    If Not Intersect(Target, Range(Intervallo)) Is Nothing Then
        Application.EnableEvents = False
        Call Riform
        Application.EnableEvents = True
    End If
End Sub

In questo modo Riform parte tutte le vole che cambi qualcosa all'interno di Foglio1, intervallo "$A$1:$D$10"; devi quindi adattare l'intervallo al tuo vero intervallo di celle da riformattare.

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

Re: Confronto tra più celle (di testo) in diverse righe e co

Postdi Zinco83 » 24/01/17 10:09

Grazie ragà, funziona a meraviglia! ;)
Zinco83
Utente Junior
 
Post: 14
Iscritto il: 16/01/17 14:55

Re: Confronto tra più celle (di testo) in diverse righe e co

Postdi ricky53 » 24/01/17 10:30

E vai!

Buon proseguimento.
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. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "Confronto tra più celle (di testo) in diverse righe e colonn":


Chi c’è in linea

Visitano il forum: Nessuno e 67 ospiti