Ciao a tutti … vorrei costruire un nuovo filtro per il mio programma e ho pensato al
filtro con il metodo a piramide. Sono riuscito a fare una macro casareccia chilometrica
l’indicatore del VBA indica 977 righe e riesco solo a fare solo la prima riga figurati quanto
ne servono per la seconda o arrivare in fondo alla colonna.
Quindi chiedo aiuto a tutto il Form per avere, se possibile, una macro con i seguenti passi:
1a) I riferimenti sono da ActiveCell e le sei celle a sinistra. Non ci sono altri riferimenti.
2b) ActiveCell non si sa da dove inizia ma sicuramente è sulla prima riga.
3c) Alle sei celle a sinistra di ActiveCell applicare la prima regola ossia aggiungere il 9
alle celle che abbiano i numeretti (1 al 9) meglio dire controllare le sei celle a sinistra
e, dove c’è il numero a una cifra, aggiungere il 9 (non serve colorare le celle di giallo)
Esempio_1 sestina 13 2 35 77 18 90 diventa 13 92 35 77 18 90
Esempio_2 sestina 4 45 2 8 33 1 diventa 94 45 92 98 33 91
Esempio_3 sestina 1 2 3 4 5 6 diventa 91 92 93 94 95 96
4d) contare le righe della colonna
5e) calcolare la piramide sulla riga applicando la seconda regola del fuori 9.
Se chi mi aiuta conosce le regole della piramide molto meglio altrimenti
non do per scontato che si sappiano le regole della piramide e, pertanto,
sul foglio dell’allegato “Piramide_Calcolo” c’è il calcolo dettagliatissimo
della piramide applicata alla sestina riportata sul foglio “aMaster” Range(“G7:L7”).
6f) Scrivere in ActiveCell solo i numeri terminali della piramide con la regola del fuori 90.
Esempio_1 se il calcolo della piramide finisce con i numeri 91 si calcola 91-90=1
Esempio_2 se il calcolo della piramide finisce con i numeri 97 si calcola 97-90=7
Oppure molto più semplice (avere un unico criterio) continuare la piramide
con 9+1=10-9=1 (regola del fuori 9)
con 9+7=16-9=7 (regola del fuori 9)
scegliere il più facile tanto il risultato non cambia.
7g) applicare su tutte le righe, precedentemente contate, il punto 6f).
8h) la macro di aiuto dovrebbe essere autonoma ossia senza interventi esterni ma richiamata da altre macro.
Ricapitolando:
_prendere in esame le sei celle a sinistra di ActiveCell (che non si sa in che posizione della prima riga sia)
_aggiungere dove è necessario il numero 9
_contare le righe
_scrivere in AcriveCell il risultato finale della piramide
_continuare su tutte le righe della colonna.
_autonomia della macro verrà richiamata da altre macro
In allegato un file con tre fogli:
Foglio “Piramide_Calcolo” c’è scritto la sequenza passo-passo di una sestina con regole.
Foglio “Deposito” dove sono riportate solo cinque diversi scenari con delle righe, poche
o tante, che il programma può generare. Aggiungo ogni scenario ha le prime dieci righe
con celle colorare di giallo ad indicare dove è stato aggiunto il 9 ai numeri ad una cifra.
E a fine riga solo il risultato della piramide (delle sei celle a sinistra).
Foglio “aMaster” vuoto per non dare false indicazioni su AcriveCell quindi caricare
uno scenario a piacere sul foglio e mandare in esecuzione la macro di aiuto
che, spero, mi venga concessa e dovrebbe dare lo stesso risultato di ogni fine
riga già calcolata. Naturalmente deve arrivare fino alla fine delle righe.
Ringraziando anticipatamente tutti coloro che mi possono aiutare 73 ikwae
https://we.tl/t-0zegycPyf5
****************************
Per confrontare la mia chilometrica macro casareccia ho perso tantissimo tempo a
trovare in rete qualche piramide (con 6 celle separate) di sestina completa ma è stata
una ricerca vana.
Quindi sul foglio “Piramide_Calcolo” sulla parte destra ci sono delle sestine
con il calcolo della piramide completa di tutte le righe e il risultato finale in coda.
In giallo, le celle, che la macro ha aggiunto il numero 9.
Spero che sia cosa utile.