Un lavoro di Elio Buonocore con Formule Matriciali                             email :  elibuono@tin.it

Questa volta Elio invia un lavoro basato su formule Matriciali, applicate alla Formattazione Condizionale. Di seguito riporto una sua spiegazione sul lavoro proposto:

"Convalida matriciale senza (quasi) VBA. Date 2 liste dinamiche ( il dinamismo è garantito da formule di intervalli dinamici e non da VBA ), con formule matriciali sul foglio di lavoro si leggono il numero di dati non corrispondenti e la posizione del primo di tali dati con l’ausilio di un minimo di grafica "di allarme" legato alla formattazione condizionale. Il sistema si aggiorna automaticamente con il variare dei valori nelle 2 liste (modifica e/o inserimento nuovo dato, oppure cancellazione) Fin qui solo formule matriciali. Con il VBA ci si limita ad attivare la prima cella del dato non corrispondente della lista test rispetto a quella
madre. Il lavoro sarebbe potuto finire qui. Ma vi ho voluto sovrapporre altre funzionalità.
Alla prima parte che, ripeto, gira solo su formule ho poi aggiunto in VBA una formula definita dall’utente che viene attivata ad ogni ricalcalo del foglio ( quindi ogni inserimento dato ); questa valuta ( grazie alla funzione VBA Evaluete ) il dato , già disponibile, della presenza o meno di dati ‘invalidi’ nella lista test rispetto alla lista madre ( situazione già individuata dalle formule matriciali) e lancia un allarme . Il tipo di allarme viene selezionato da un gruppo di controllo . Può essere sonoro grazie ad una API (che ho trovato su un libro di Walkenbach) oppure una di 2 tipi di MsgBox che hanno già un intrinseco allarme sonoro.
Su un secondo foglio di lavoro vi è una demo di quanto è ottenibile con lo strumento Convalida Dati di Excel con i dati ‘invalidi’ di una lista di convalida (vengono, inoltre, mostrate le condizioni per le quali si possono avere i dati invalidi negli intervalli di convalida ).
L’interesse per il lavoro potrebbe derivare: 1) potenza delle formule matriciali che fanno risparmiare tanto codice VBA accelerando enormemente la performance. 2) dagli effetti grafici ottenibili con la formattazione condizionale abbinata alle formule matriciali 3) dal fatto che una function può essere attivata dal foglio in base all’automatismo intrinseco del ricalcolo senza legarla ad eventi specifici e 4) dalla ‘futilità’ , che mi sembra, però, graziosa, di un allarme sonoro (nella stessa cartella del file excel è abbinato un file wav. )
"

Elio sarà disponibile all'indirizzo riportato in testa, per chiarimenti o delucidazioni. Sotto un'immagine di una delle due pagine:
 

Ancora un grazie a Elio per questo suo lavoro.

File consultabile e scaricabile: (comprende 2 file)


nome file dimensione
ConvalidaMatriciale.zip 81 Kb