Saluti a tutti e grazie in anticipo per l'eventuale aiuto
Sono giorni che ci provo, ma visto la mia elementare conoscenza della programmazione in VBA, sono in forte difficoltà.
Cerco di spiegare cosa vorrei realizzare tramite una macro di Excel:
Dati di Partenza: Foglio di Excel strutturato come un Data Base (Vedi Es. Sottostante)
PARTITA;DESCRIZIONE;FASE1;FASE2
10; Montaggio-Ferro; Armatura; Armatura
20; Getto-Calcestruzzo; Platee; Getto
30; Cls-Fondazioni; Platee; Getto
40; Casseratura; Armatura; Armatura
ETC.
Al momento di attivare la macro, le colonne FASE1 e FASE2 non sono riempite ma dovrebbero essere alimentate proprio tramite detta macro in questo modo:
Sapendo che per ogni partita conosco le “FASI1” possibili e le relative “FASI2” (Vedi Tabella esplicativa sotto)
PARTITA; FASE1; FASE2
10; Armatura; Armatura
10; Platee; Getto
20; Platee; Getto
30; Altro; Altro
30; Armatura;Armatura
30; Platee; Getto
ETC.
Per ogni riga del Data Base dovrei esplicitare tramite la macro questo ragionamento:
Leggo il campo PARTITA di quella riga;
Leggo la DESCRIZIONE e ne paragono il contenuto verificando se al suo interno sono contenute alcune stringhe chiave quali: “cls”, “getto”, “calce” (etc.); se ne contiene una o più riempo automaticamente il campo FASE1 con “Platee” e il campo FASE2 con “Getto” e passo alla riga successiva; se non ne contiene nessuna faccio una seconda ricerca (la PARTITA 10 ha due possibili FASE1 con due relative FASE2) per verificare che al suo interno ci siano le stringhe : “ferro”, “armat” (etc.); se ne contiene una o più riempo il campo FASE1 con “Armatura” e il campo FASE2 con “Armatura” e passo alla riga successiva; se non ne contiene nessuna, la macro dovrebbe interrompersi momentaneamente e permettremi un input manuale (magari tramite una finestra ad hoc) dei due campi FASE1 e FASE2 della riga in esame, ma attingendo solo alle possibilità previste per la PARTITA in esame su quella riga; dopo l'input manuale la macro si riavvia e procede automaticamente fino al successivo input manuale e fino alla fine dei record presenti.
Spero di essere stato chiaro, ma non esitate a chiedermi delucidazioni qual’ora qualcuno decida di aiutarmi.
Grazie.