Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel] Tramite Macro cerca testo e seleziona input

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

[Excel] Tramite Macro cerca testo e seleziona input

Postdi riclu » 01/09/09 12:26

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.
riclu
Utente Junior
 
Post: 14
Iscritto il: 01/09/09 12:11

Sponsor
 

Re: [Excel] Tramite Macro cerca testo e seleziona input

Postdi Flash30005 » 01/09/09 13:20

Ciao Riclu e benvenuto

Secondo me la tabella2 non ha campi univoci e questo rende più difficoltosa l'assegnazioni delle fasi
es.:
Part, ParolaChiave, = Risultato
10, Cls, = Platee (etc)
10, Montaggio, = Armatura (etc
10, Getto, = Platee (etc)

Poi vedo un po' di confusione nella tabella2
10; Armatura; Armatura
30; Armatura; Armatura
Perché due partite hanno lo stesso risultato?

Un'ultima cosa sarebbe opportuno che tu inviassi un foglio di excel sul quale lavorare, qualsiasi programma di excel deve puntare su coordinate (riga, colonna) ed è, quindi, necessario sapere dove sono collocati i dati.

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel] Tramite Macro cerca testo e seleziona input

Postdi riclu » 01/09/09 13:40

Ciao Flash30005 e grazie per l'interessamento.
Effettivamente con il foglio Excel sarebbe piu' chiaro.
Non ho nessun problema a postarlo, solo che non so come si faccia.
Se mi dai indicazioni in merito te lo invio subito dopo.

Grazie di Nuovo.

Luca
riclu
Utente Junior
 
Post: 14
Iscritto il: 01/09/09 12:11

Re: [Excel] Tramite Macro cerca testo e seleziona input

Postdi Flash30005 » 01/09/09 14:21

Per inviare un file ti devi servire di un server host come questo
http://www.rapidshare.com/
con Sfoglia accedi al tuo Pc selezioni il file da inviare e clicchi su upload, attendi che finisca e ti dia un link per poter fare il download del file che inserirai nel post e un altro per cancellare il file dal server (da non usare in questo caso)

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel] Tramite Macro cerca testo e seleziona input

Postdi riclu » 01/09/09 14:33

Grazie, Flash.
Detto, Fatto; il link al file è: http://rapidshare.de/files/48262818/Rapportini.xls.html
Per quanto riguarda la seconda domanda della tua prima risposta, la spiegazione è che in qual caso la FASE1 ha la medesima descrizione della FASE2.
Credo comunque che la cartella "RIFERIMENTI" del file allegato sia esplicativa.

Ringraziandoti di nuovo, rimango a disposizione per qualsiasi ulteriore chiarimento.

Luca
riclu
Utente Junior
 
Post: 14
Iscritto il: 01/09/09 12:11

Re: [Excel] Tramite Macro cerca testo e seleziona input

Postdi Flash30005 » 01/09/09 14:52

Ho scaricato il file e ho dato un'occhiata ai dati e noto appunto nella tabella2 ripetizioni di fasi con partite diverse
2 Platee, plinti e travi Getto e finiture
3 Platee, plinti e travi Getto e finiture
10 Platee, plinti e travi Getto e finiture
11 Platee, plinti e travi Getto e finiture
12 Platee, plinti e travi Getto e finiture
etc etc
e non c'è cosa peggiore per un Db avere due chiavi diverse per dire cose uguali
a questo punto mi domando che cos'è? questa Partita? A cosa serve, visto per esempio che nella tabella1 la 10 non esiste?
Non so se interpreto male la tua necessità ma credo che la tabella2 (Riferimento) debba essere collegata ad una chiave diversa del tipo
Cls Platee, plinti e travi Getto e finiture
Mont Armature
Ferro Armature
etc
In questa maniera l'assegnazione è sicuramente più semplice ed affidabile

Fai sapere
Ciao

P.s.
Se la tabella2 serve a te per anche altri scopi allora si potrebbe creare un'apposita tabella3 per questa funzione
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel] Tramite Macro cerca testo e seleziona input

Postdi riclu » 01/09/09 15:44

Spero di essere chiaro nel risponderti.
Per una Commessa di Lavoro vengono, nel tempo, aperte e quindi affidate al committente, N Partite.
Per questo ad oggi (31 Luglio 09 per i dati in questione) alcune Partite delle 13 possibili per la Commessa CO1 non sono ancora aperte, come appunto la 10 da te citata.
Il foglio RIFERIMENTI l'ho inserito perchè mi serve come pro-memoria per gli abbinamenti che mese-mese dovrei fare manualmente, rispettando le descrizioni abbinate alle FASI 1 e 2 di ogni partita e che possono essere uguali anche per Partite diverse.
Le strinhe "cls", "ferro", "armat", "calce", che io ho citato non sono altro che una mia ipotesi per cercare di creare un automatismo di abbinamento, cosa che manualmente ad esempio faccio.
Creare dei concatenamenti per rendere univoci i campi che servano nei riferimenti di una macro, credo sia corretto.
Nell'ottica di un tentativo di automatizzare il più possibile detti abbinamenti, sentiti libero di espormi qualsiasi soluzione in proposito.
Ciao
Luca
riclu
Utente Junior
 
Post: 14
Iscritto il: 01/09/09 12:11

Re: [Excel] Tramite Macro cerca testo e seleziona input

Postdi Anthony47 » 01/09/09 23:34

Scusate se intervengo su una discussione gia' avviata.

L' obiettivo mi pare sia compilare col E ed F del file allegato, attingendo alle possibili combinazioni di foglio Riferimenti, cercando nella descrizione (col D?) la presenza di parole chiavi; detto cosi' sembra facile, ma guardando un po' piu' in dettaglio il problema e' soprattutto come fare in modo che la scelta sia corretta.
Prendiamo ad esempio la partita 13: in Rapporti Giornalieri ci sono 125 righe con questo codice, con 95 descrizioni diverse (insomma non c' e' nessuna standardizzazione delle descrizioni); su Riferimenti ci sono 9 possibili coppie.
Mi e' difficile pensare che ci possano essere delle chiavi che puntano a 1 e 1 sola delle possibili coppie, col risultato che ci saranno tantissime Platee, plinti e travi /Getto e finiture e nessuna Tubazioni /PRFV - Metri lineari di tubo.

Un possibile miglioramento potrebbe essere complicare leggermente le "chiavi", non monoparola ma combinate, ad es.
-accanto a ogni combinazione su Riferimenti, inserisci 5 regole che comprendono ognuna 3 stringhe che devono essere presenti e 2 stringhe assenti (quindi ogni regola occupa 5 celle; totale 25 celle)
-fare la scelta non sulla validita' almeno di una regola, ma sulla scelta che conferma il numero maggiore di regole.

Non so se quanto esposto corrisponde a quello che fai quotidianamente, ne' so se il lavoro per la creazione delle 5 regole per ognuna delle righe di Riferimenti e' un gioco che vale la candela, perche' dipende da quanto queste regole sono riutilizzabili settimana dopo settimana.
Se ti sembra che quanto proposto sia in linea col tuo problema, allora potresti provare a definire le regole per la Partita=13 cosi' abbiamo un buon ambiente di collaudo. Quando definisci le regole, mi aspetto che le prime tre colonne siano quelle che devono esserci e le ultime 2 quelle che devono mancare (magari ti colori di verde le colonne D-E-F e rosse G-H, poi copi D:H in orizzontale per altre 4 volte); se una cella la lasci vuota allora sara' ignorata, e se tutte le celle sono vuote la regola sara' ignorata; i blocchi di 5 celle devono essere contigui.

Facci sapere se procedi in questo senso, cosi' possiamo nel frattempo cominciare a pensare alla macro.

Ciao.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Tramite Macro cerca testo e seleziona input

Postdi riclu » 02/09/09 08:50

Ciao Anthony47 e grazie dell'utilissimo intervento.
L'obiettivo lo hai perfettamente inquadrato e cioè compilare le colonne E e F di "Rapportini Giornalieri" cercando nella colonna D del medesimo foglio la presenza di parole chiavi che riconducano alle Fasi abbinate ad ogni Partita ed elencate nel foglio "Riferimenti".
Effettivamente le 9 possibili coppie di Fasi presenti per la Partita 13 e le variegate descrizioni delle attività giornaliere complicano parecchio il tentativo di automatizzare il piu' possibile detti abbinamenti ma, manualmente e mnemonicamente, quello da te suggerito è quello che devo fare per completare il Data Base.
Quindi procedero' come da te suggerito ed al piu' presto ti alleghero' un nuovo file con le REGOLE implementate per la Partita 13 (sperando di aver capito bene).

Ciao e grazie di nuovo.

Luca
riclu
Utente Junior
 
Post: 14
Iscritto il: 01/09/09 12:11

Re: [Excel] Tramite Macro cerca testo e seleziona input

Postdi riclu » 02/09/09 09:19

Anthony47,
per fare il lavoro una volta ti esplicito come sto' procededendo alla compilazione delle regole:
-Ogni regola ha 5 stinghe; le prime tre che devono esserci (in OR logico tra loro) e le ultime due che non devono esserci (in AND tra loro e con l'insieme delle prime tre).
Se ho capito male e/o quanto sopra collide con qualcosa fammi sapere.

Luca
riclu
Utente Junior
 
Post: 14
Iscritto il: 01/09/09 12:11

Re: [Excel] Tramite Macro cerca testo e seleziona input

Postdi riclu » 02/09/09 10:34

Come promesso allego il link al file implementato con le regole per la Partita 13, estendibili anche alle altre Partite con Fasi uguali: http://rapidshare.de/files/48267362/Rap ... 2.xls.html.
Ho ridotto a 7 le coppie di Fasi perchè 2 palesemente ridondanti.
Mi sono poi immaginato che, se per la Partita in esame (come per la 13) esiste la Fase1 "ALTRO" tutti i record scartati dalle regole di quella Partita debbano essere abbinati appunto alla Fase1 Altro.
Qual'ora invece non esista la Fase1 "ALTRO" per i record non abbinati automaticamente la macro dovrebbe permettere un input manuale (con scelta tra le Fasi di quella Partita).

Grazie di nuovo.

Luca
riclu
Utente Junior
 
Post: 14
Iscritto il: 01/09/09 12:11

Re: [Excel] Tramite Macro cerca testo e seleziona input

Postdi Anthony47 » 02/09/09 14:56

Rispondo solo ora al tuo messaggio delle 10:19
Ogni regola ha 5 stinghe; le prime tre che devono esserci (in OR logico tra loro) e le ultime due che non devono esserci (in AND tra loro e con l'insieme delle prime tre)
Le prime tre stringhe devono tutte esserci, le seconde due devono tutte mancare; una cella vuota viene ignorata. Quindi le prime tre sono in AND e le altre due sono in "OR Negato". Se invece le regole create hanno una logica diversa allora suggerisco di rivederle.

Ciao.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Tramite Macro cerca testo e seleziona input

Postdi riclu » 02/09/09 15:07

Scusa la mia ignoranza, ma avrei bisogno di un esempio di "OR negato".
Credo forse che debba conoscere, per creare delle regole corrette, anche come terrai di conto delle cinque possibili per ogni fase.

Grazie e scusa di nuovo se sono un po' duro.

Ciao.
Luca
riclu
Utente Junior
 
Post: 14
Iscritto il: 01/09/09 12:11

Re: [Excel] Tramite Macro cerca testo e seleziona input

Postdi Anthony47 » 02/09/09 15:15

L' or negato lo fara' la macro; tu devi solo tenere a mente che quelle due parole non devono esserci nel testo, affinche' la regola risulti vera.
Ciao.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Tramite Macro cerca testo e seleziona input

Postdi riclu » 04/09/09 10:05

Scusa anthony ma ho letto solo ora la tua risposta.
Ti allego il link del file con le REGOLE corrette.

http://rapidshare.de/files/48278054/Rap ... 3.xls.html

Grazie di nuovo per l'aiuto.

Luca
riclu
Utente Junior
 
Post: 14
Iscritto il: 01/09/09 12:11

Re: [Excel] Tramite Macro cerca testo e seleziona input

Postdi riclu » 08/09/09 11:28

Salve!
Scusate se insisto, ma non c'è proprio nessuno che mi dia una mano?
Gli ospiti e gli altri utenti non sembrano interessati al problema, ma forse la soluzione potrebbe essere utile a molti.
Spero che voi moderatori, Anthony o Flash possiate inoltrarmi perlomeno una bozza di macro su cui io possa smanettare e/o imparare.

Grazie e scusate di nuovo l'insistenza.

Luca
riclu
Utente Junior
 
Post: 14
Iscritto il: 01/09/09 12:11

Re: [Excel] Tramite Macro cerca testo e seleziona input

Postdi ricky53 » 08/09/09 17:56

Ciao

può essre che stiamo predisponendoti qualcosa direi di attendere.

Comuqnue ci provo a vedere se posso fare qualcosa,
ma dammi il tempo di entrare nell'argomento.

Prima di tutto mi devo leggere gli interventi precedenti.
Ci risentiamo.

Ciao da Ricky53
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. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [Excel] Tramite Macro cerca testo e seleziona input

Postdi riclu » 08/09/09 18:20

Grazie Ricky.
Mi scuso se ho dato l'impressione di avere fretta; non volevo.
Da autodidatta di excel e office in genere, era da un po' che seguivo come ospite questo forum, e sino ad adesso ho fatto tesoro delle informazioni e degli aiuti rivolti ai molti utenti bisognosi.
Leggendo, ho visto che le risposte in genere sono sempre molto veloci, specie se gli argomenti trattati si presuppongono di interesse dei più.
Il timore che l'argomento del mio "Help" non fosse considerato di "interesse" ha generato il mio ultimo intervento.
Comunque, ringraziando di nuovo, attendo fiducioso e paziente.

Ciao.

Luca
riclu
Utente Junior
 
Post: 14
Iscritto il: 01/09/09 12:11

Re: [Excel] Tramite Macro cerca testo e seleziona input

Postdi ricky53 » 08/09/09 22:53

Ciao,
sono arrivato tardi, ho letto e qualcosa non mi è chiaro. Forse è stato già scritto ma non sono riuscito ad interpretarlo.

Ti chiedo se è possibile avere un esempio compilato da te utilizzando il file delle nuove regole.
Puoi utilizzare la partita "13" con i dati del foglio "Rapporti_Giornalieri" dalla riga 193 in giù.
Spiega, passo passo, quali ragionamenti farai per selezionare le fasi 1 e 2 che otterrai dal foglio "Riferimenti" verificando le regole che hai scritto.

Ciao da Ricky53
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. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [Excel] Tramite Macro cerca testo e seleziona input

Postdi Anthony47 » 09/09/09 03:18

Con un po' di impegno ho completato un prototipo...
http://rapidshare.de/files/48305998/RIC ... h.xls.html
Su foglio RIFERIMENTI ho inserito le formule in colonna AC:AH sulle righe con Regole e in AH1:AK1 (Risultati); le formule veramente le ho inserite solo sulle righe che hanno gia' le regole, vanno copiate sulle altre righe, anche dove non sono cablate Regole.
Devi poi lanciare la macro mygod.
Ho inserito una regola per far uscire Altro quando nessuna regola risulta verificata, guardala.

Le regole per ora sono un po' "lasche", ed escono parecchi Altro/Altro; credo che questo dipenda dalla tua prima interpretazione dei criteri di validita' di una regola, che per me significa "tutte le prime tre voci, nessuna delle altre 2 voci" (mentre per te era "uno qualsiasi delle prime tre voci, nessuna delle altre due voci").
In caso di mancato match (nessuna regola valida) l' input e' chiesto con una form (per collaudarla, basta eliminare la regola "Altro")

Prova e fai sapere.
Ciao.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Tramite Macro cerca testo e seleziona input":


Chi c’è in linea

Visitano il forum: raimea e 23 ospiti