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)
|