Condividi:        

[Excel] - Compilazione automatica di celle

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] - Compilazione automatica di celle

Postdi nogh » 21/03/13 15:14

Salve a tutti! Sono nuovo del forum e vi scrivo per chiedervi come risolvere questo problema.
Devo creare un file excel composto di due fogli, uno di database ed un altro che deve essere compilato (e che serve per una stampa unione).
Il foglio 1 (il Db) contiene le seguenti colonne
"Cod. Ditta" "Ragione Sociale" "Indirizzo" "Sede" "Contratto" "Num. Mensilità"

con una serie di dati (es. 1 - Rossi SRL - Via Roma 1 - Milano - CCNL Commercio - 14 mensilità')

Mentre invece il foglio 2 (che sarà utilizzato per la creazione di una Stampa unione)

"Luogo" "Data" "Nome" "Cognome" "Indirizzo" "Cap" "Città" "Provincia" "Cod. Ditta" "Ragione Sociale" "Indirizzo" "Sede" " Contratto" "Num. Mensilità".

Come avete modo di vedere una parte dei dati contenenti nel foglio 2 corrisponde a quelli del foglio 1.
Al fine di una più agevole compilazione vorrei capire come automatizzare questi campi comuni. Nello specifico se, ad esempio, inserisco 1 in "Cod. Ditta" i campi comuni restanti possano venire compilati in automatico.

Chi mi aiuta?
Grazie in anticipo a tutti!
nogh
Newbie
 
Post: 4
Iscritto il: 21/03/13 15:06

Sponsor
 

Re: [Excel] - Compilazione automatica di celle

Postdi Flash30005 » 21/03/13 15:39

Ciao Nogh e benvenuto nel Forum

Puoi usare la funzione Cerca.Vert se i campi del primo foglio sono gli stessi che nel secondo foglio
Ma noto delle differenze (ad esempio nel secondo foglio hai più campi di quelli inseriti nel primo) e quindi non so dove li andrai a prendere
E' opportuno che inviassi un facsimile di file allegando il link nel prossimo post

Per allegare un file segui questa procedura

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel] - Compilazione automatica di celle

Postdi nogh » 21/03/13 16:03

Ciao Flash e grazie per avermi risposto.
Ti rimetto il link dove potrai trovare il file compilato con qualche dato di prova. http://rapidshare.com/files/238929866/modello%20di%20prova.xlsx

Il cerca vert, purtroppo, non va bene nel mio caso (o per lo meno penso) poichè - a come lo so usare - mi permette di copiare solo il dato di una cella, mentre io ho bisogno di una compilazione automatica.
Come potrai vedere dal file ho compilato entrambi i fogli con dei record di prova. Il foglio 2 è volontariamente parziale. In pratica, io inserendo uno dei codici ditta che trovi nel foglio 1 vorrei che le restanti celle si compilassero automaticamente.

Grazie ancora!
nogh
Newbie
 
Post: 4
Iscritto il: 21/03/13 15:06

Re: [Excel] - Compilazione automatica di celle

Postdi Flash30005 » 21/03/13 20:11

Sarà pure un esempio ma non vedo alcun nome comune tra i due fogli
e non riesco a capire se i dati origine sono nel foglio2 (come sembrerebbe) o foglio1

quindi rimango in attesa di chiarimenti o altro file meglio impostato

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel] - Compilazione automatica di celle

Postdi nogh » 21/03/13 20:27

Allora, il Foglio 1 è il foglio di origine dei dati, mentre il foglio 2 quello di destinazione.

Il file creato serve per la compilazione di documenti dell'amministrazione del personale del mio piccolo studio, insomma, facilitare il lavoro usando la stampa unione di microsoft word.

Se vai nel foglio 2 noterai che la prima riga reca solo una parte di celle (le ultime) uguali a quelle del foglio 1. Questo perchè una parte di dati (es. i dati anagrafici del lavoratore - foglio 2 da A ad H) deve essere compilata di volta in volta. Ciò che mi serve automatizzare sono le colonne da I ad N.
Es. nella riga 2 del foglio 2 c'è il Sig. Mario Bianco, questi deve andare a lavorare per la ditta num. 3 del foglio 1. Conseguentemente, inserendo 3 nella colonna I del foglio 2, le colonne J k L M ed N si dovrebbero compilare automaticamente, in relazione a quanto presente per la ditta num. 3 del foglio 1.

Mi rendo conto che è un processo macchinoso, ma ho avuto modo di vederlo in altre realtà - molto più grandi della mia - e ho notato che facilitava di non poco il lavoro.

Grazie mille!
nogh
Newbie
 
Post: 4
Iscritto il: 21/03/13 15:06

Re: [Excel] - Compilazione automatica di celle

Postdi Flash30005 » 21/03/13 20:52

Ok
Nel foglio1 selezioni tutte le celle della colonna A che contengono i dati (es: A2:A100)
una volta sezionato il range scrivi "ElCod" (senza virgolette) nel campo dove vedi scritto A2 (nella testata a sinistra della funzione o formula) è come assegnare Definisci nome dal Menu Formule.
Poi vai nel foglio 2 cella I2 Menu Dati -> convalida dati e selezioni Elenco, in Origine scrivi =EleCod, OK.
Copi questa cella I2 fino dove serve (es.: I3:I100).
In J2 scrivi questa formula
Codice: Seleziona tutto
=SE($I2="";"";CERCA.VERT($I2;Foglio1!$A$2:$F$100;RIF.COLONNA()-8;FALSO))

Trascini (o copi) fino a N2
Poi selezioni J2:N2 e trascini verso il basso fino dove serve
Ora potrai selezionare in I2 o I3 un codice e avrai i corrispondenti campi
Ma per maggior chiarezza allego questo file

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel] - Compilazione automatica di celle

Postdi nogh » 21/03/13 21:52

Grazie ancora, sei stato chiarissimo! Adesso tutto funziona alla perfezione!
nogh
Newbie
 
Post: 4
Iscritto il: 21/03/13 15:06

Re: [Excel] - Compilazione automatica di celle

Postdi Gattuccio0 » 07/09/13 23:41

Ciao a tutti,
mi collego a questo topic in quanto, da uno vecchio che avevo postato senza venire a capo della soluzione, sono arrivato su questo modificando qualche scelta.

Io ho una tabella (Nome prodotto, modello, colori, finiture, ecc.) che ha oltre 1200 righe. Queste righe sono date dalle combinazioni possibili che risultano dai prodotti (che sono due), a loro volta sono suddivisi per modelli (in molti casi i nomi dei modelli si ripetono), e via di seguito: quindi ho tanti prodotti quante variabili posso creare. L'univocità la ho su ogni riga data dalla combinazione delle celle contenute sulla riga stessa.

Gli unici dati che non si ripetono mai sono codice EAN e codice prodotto. (difatti la compilazione anagrafica cliente riesce senza problemi).

Quindi (da utente con scrsissime competenze...anzi, nessuna) ho ragionato facendo dei menu a tendina ma avendo due problemi:
1) per quanto sopra detto, nella colonna prodotti, avevo 1300 record composti da soli due nomi che si ripetevano
2) un utente potrebbe creare combinazioni assegnando EAN e codice prodotto ad una combinazione di criteri che non corrispondono alla realtà.

Così...pensando ad un acquirente tipo che potrebbe avere dei problemi ad aprire un file con macro, ho cercato di trovare di realizzare il tutto con formule e mi sono messo a studiare qualche tutorial e molti esempi del forum e sono arrivato a creare dei menu a tendina dinamici.
Sembrava filare tutto liscio ma sono incappato in altri problemi derivanti dal fatto che si possono creare liste con nome singolo (e quindi non è possibile avere più collegamenti):

Ho dei prodotti tra cui le moka. Le moka si dividono in due linee: Chef e Class. Ognuna ha dei modelli con stesso nome. Moka Chef ha dei modelli suddivisi per 2, 3 e 6 tazze. La moka Class ha dei modelli suddivisi per 1, 2, 3 e 6 tazze.

Per facilitare il tutto ho lasciato indietro la compilazione della colonna relativa al numero di tazze, prezzo, codice, ecc. ed ho sperimentato delle formule senza avere risultati.

Quella che ho reputato più congeniale è il CERCA.VERT e come potrete vedere nel foglio Ordine io vado a compilare le colonne per prodotto il modello mi viene di conseguenza per la foruma =indiretto come la colonna per il colore (quella per le finiture la ho tralasciata in quanto per evitare di fare tutti gli elenchi).
Quindi, compilando C2 e di conseguenza D2 ho pensato che con CERCA.VERT potessi far si che mi fa un controllo di C2:D2 che va a confrontare con celle sulla stessa riga contenute nel foglio Prodotti dove ci sono tutti i dati.

La formula non torna e non riesco a capire il passaggio che non conosco per farla tornare (che tra le altre cose è lo stesso che dovrei inserire in I2 ed L2).

Mi sapreste dire cosa sbaglio? Allego qui il file di Excel 2010 http://we.tl/CwpGJIWn5r
Gattuccio0
Utente Senior
 
Post: 186
Iscritto il: 22/06/09 12:46

Re: [Excel] - Compilazione automatica di celle

Postdi Anthony47 » 08/09/13 00:45

Humm... hai detto tante cose, ma non "quale problema dovresti risolvere", cosa che quindi ti invito a chiarire (raccomandando di non fare confusione tra "come hai provato ad affrontare il problema", che e' quello che hai scritto, e il vero problema).

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] - Compilazione automatica di celle

Postdi Gattuccio0 » 08/09/13 22:20

Ok. Allora...il foglio Ordine sarà l'unico foglio visibile ad un potenziale acquirente (negoziante). Al fine di creare omogenità degli ordini che riceverò ho dovuto preparare un modello standard con campi auto compilabili.

C22, D22, G22 ed H22 verranno compilati dal mio utente in quanto sono menu a tendina dinamici.
Quello che vorrei fare è che a seconda di queste celle celle compilate, vengano compilate anche E22, I22, K22 ed L22

(essendo liste legate alla tipologia di modello o tazza o finiture, non ho la possibilità di creare altri menu a tendina dinamici in quanto non posso nominare due o più liste con lo stesso nome).
Gattuccio0
Utente Senior
 
Post: 186
Iscritto il: 22/06/09 12:46

Re: [Excel] - Compilazione automatica di celle

Postdi Gattuccio0 » 08/09/13 23:35

Ho completato meglio il file in modo da essere maggiormente chiaro nella mia richiesta e lo allego qui: http://we.tl/rnURXsEcCr


C22, D22, G22 ed H22 verranno compilati dal mio utente in quanto sono menu a tendina dinamici.
Quello che vorrei fare è che a seconda di queste celle celle compilate, vengano compilate anche E22 (in quanto, relativa al numero di tazze che è variabile) dovrà restituire i valori esatti in K22 ed L22 (dopo aver l'utente selezionato da menu a tendina I22

Dall'esempio che ho allegato, se in E22 il mio acquirente dovesse inserire 2 (2 tazze) ed in I22 selezionasse Gift Box, i valori che dovranno restituire le celle che mi interessano dovranno essere:
K22 = € 78 (che è in I597 foglio "Prodotti)
L22 = MH-2L1806FG (che è in B597 foglio "Prodotti)


NB: In E22 non posso mettere un menu a tendina in quanto, entrambe le linee di prodotto e tutti i loro modelli hanno le 2, 3, e 6 tazze. Ma di tutta la gamma Moka Class esiste anche la versione per 1 tazza



Spero di essere stato più chiaro.
Gattuccio0
Utente Senior
 
Post: 186
Iscritto il: 22/06/09 12:46

Re: [Excel] - Compilazione automatica di celle

Postdi Anthony47 » 10/09/13 01:40

Non sono riuscito a venire capire il significato della strana formula messa in E22 di Ordine, visto che cercava di sostituire il valore della cella con il valore di un Cerca.Vert creando un riferimento circolare.
Non sono certissimo di quelle che sono le domande poste, ma se il problema fosse di inserire una convalida in E22 (e altre celle), come subordinata delle scelte gia' fatte in C22 e D22 di Ordine, allora potresti procedere come segue:
-ti crei un elenco di valori che rispecchiano le scelte gia' fatte
-usi questo valore nella Convalida

Nel caso della variabile tazza ho usato in BA2 di Liste (BA1 va lasciato libero o va usato per una descrizione) la formula
Codice: Seleziona tutto
=INDICE(Prodotti!$C$1:$C$2000;PICCOLO(SE(((SOSTITUISCI(Prodotti!D$1:D$2000;" ";"_")=ORDINE!C$22)*(Prodotti!E$1:E$2000=ORDINE!D$22)*(CONTA.SE(BA$1:BA1;Prodotti!C$1:C$2000)=0));RIF.RIGA(Prodotti!A$1:A$2000);"");1))
Da confermare con Contr-Maiusc-Enter
Poi copia BA2 verso il basso fino a BA20 (non avrai mai piu' di 19 tazze, vero?).
Infine dai un nome a questo intervallo:
-puoi definire un intervallo statico, associandolo alle celle BA2:BA20
oppure
-definisci un intervallo dinamico, usando nel campo "Riferito a" dell' intervallo la formula
Codice: Seleziona tutto
=SCARTO(Liste!$BA$2;0;0;CONTA.NUMERI(Liste!$BA$2:$BA$20);1)


Infine-infine usi questo intervallo come convalida della colonna Cups (E22 e sottostanti su foglio Ordini).

Immagino che potresti adottare lo stesso sistema anche per gli altri elenchi, evitando quindi la costruzione di elenchi statici, la cui corrispondenza a quanto elencato in foglio Prodotti e' sempre critica.

Tuttavia credo che se non vuoi usare macro e vuoi fare un foglio con tante convalide e senza errori troverai duro: ad esempio come fai se l' utente cambia la Classe del prodotto a costringerlo a reinputare tutte le caratteristiche subordinate?

Spero comunque che trovi qualche utile spunto...
Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] - Compilazione automatica di celle

Postdi Gattuccio0 » 10/09/13 11:28

Ciao Anthony ti ringrazio in anticipo anche se non ho avuto modo di testare in quanto mi compare, ogni volta che cerco di aprire un documento in Excel l'errore "Excel non può completare questa attività con risorse disponibili. Scegliere la minore quantità di dati o chiudere altre applicazioni."

Mi appare da quanto ho cominciato a fare i test sul file che avevo inviato. Per non perdere l'iter ogni volta salvavo il file con nomi differenti.

Domanda: non è che tutte le liste (essendo tante) su tutti i documenti, mi hanno incasinato Excel?
Gattuccio0
Utente Senior
 
Post: 186
Iscritto il: 22/06/09 12:46

Re: [Excel] - Compilazione automatica di celle

Postdi Anthony47 » 10/09/13 14:19

Hai fatto reboot del pc?
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] - Compilazione automatica di celle

Postdi Gattuccio0 » 10/09/13 14:34

Eccomi Anthony dopo la prova.

(vediamo se riesco ad essere maggiormente chiaro per togliere ogni dubbio)...inizialmente non volevo cercare una soluzione in VBA in quanto non sono capace di comprendere le stringhe quando le vedo fatte da voi, figuriamoci da farle ex novo.

Reputando il forum un luogo in cui poter migliorare ed affinare le proprie lacune ho proceduto con le formule basilari che conosco meglio. Oltre al fatto che non trovo giusto postare una richesta nella speranza che qualcuno mi dia la pappa pronta (e penso che sia contrario anche allo spirito di questo forum).

Tornando al mio macchiavellico file: quello che vorrei ottenere in E2 del Foglio ORDINE è un menu a tendina ma, mi è impossibile farlo in quanto:
a) potrei mettere il numero delle tazze 1, 2, 3, 6 ma non sarebbe corretto in quanto solo un prodotto le ha (Moka Class). Moka Chef ha tazze per 2, 3, 6
b) in E2 non posso fare un menu dinamico (=indiretto(D22) perchè la convalida dati con questa funzione è legata alla cella G22 ovvero modelli collegati ai colori)

Dalla tua soluzione in E2 mi da 2 (numero tazze). Ma di quel prodotto, legato a quel modello, ho anche la versione a 3 e a 6 tazze e per questo dovrei avere un menu a tendina in modo che il potenziale acquirente scelga quale scegliere (dato che la variabile sul prezzo finale dipende anche dal numero di tazze a parità di finiture, colore e modello).

Mi ero espresso male io dall'inizio in quanto ero convinto (detto butalmente) di poter ottenere una stringa di comando che mi facesse fare una ricerca: se E22 è vuoto, vai a carcare nel Foglio Prodotti due celle orizzontali affiancate in cui ci siano C22 e D22, ecc. Trovi i dati e li metti in un menu a tendina. per questo mi incasinavo con CONFRONTA, CERCA.VERT, ecc.
Gattuccio0
Utente Senior
 
Post: 186
Iscritto il: 22/06/09 12:46

Re: [Excel] - Compilazione automatica di celle

Postdi Gattuccio0 » 10/09/13 14:36

Anthony47 ha scritto:Hai fatto reboot del pc?


No, ho installato gli ultimi aggiornamenti ed ora non fa più capricci
Gattuccio0
Utente Senior
 
Post: 186
Iscritto il: 22/06/09 12:46

Re: [Excel] - Compilazione automatica di celle

Postdi Anthony47 » 10/09/13 14:43

La mia proposta ti consente di calcolare quali opzioni sono disponibili per la voce Cups, dopo che l' utente ha scelto il "Product" e il "Model". Userai questo nuovo elenco come convalida della cella E22.
Nelle mie prove l' elenco delle opzioni e' sempre stato coerente con quanto elencato in foglio Prodotti.

Lavorando sullo stesso file, con le formule che ti ho dato, che elenco ti viene restituito con le scelte (ad esempio) Moka_Chef e Home?

Ciao

PS: ho immaginato che quando scrivi E2 volessi scrivere E22.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] - Compilazione automatica di celle

Postdi Gattuccio0 » 10/09/13 16:26

PS: ho immaginato che quando scrivi E2 volessi scrivere E22.[/quote]

Colpito ed affondato!

[quote="Anthony47"]
Codice: Seleziona tutto
=INDICE(Prodotti!$C$1:$C$2000;PICCOLO(SE(((SOSTITUISCI(Prodotti!D$1:D$2000;" ";"_")=ORDINE!C$22)*(Prodotti!E$1:E$2000=ORDINE!D$22)*(CONTA.SE(BA$1:BA1;Prodotti!C$1:C$2000)=0));RIF.RIGA(Prodotti!A$1:A$2000);"");1))


Perfetto per le tazze! Come mai, invece, se seleziono in D22 la Gift Box, non mi fa selezionare il numero di tazze?
Gattuccio0
Utente Senior
 
Post: 186
Iscritto il: 22/06/09 12:46

Re: [Excel] - Compilazione automatica di celle

Postdi Gattuccio0 » 10/09/13 17:22

[quote="Anthony47"]
Codice: Seleziona tutto
=SCARTO(Liste!$BA$2;0;0;CONTA.NUMERI(Liste!$BA$2:$BA$20);1)


Altra cosa: inserendo questa funzione...è normale che io salvi il documento, lo chiuda e quando lo riapra nella cella non ci sia più l'elenco e debba rimettere la funzione?
Gattuccio0
Utente Senior
 
Post: 186
Iscritto il: 22/06/09 12:46

Re: [Excel] - Compilazione automatica di celle

Postdi Anthony47 » 11/09/13 01:17

Quella istruzione definisce un nome che poi avrai usato nella convalida; se hai salvato il file la definizione rimane e idem l' elenco presente in Liste!$BA$2:$BA$20.
Alla riapertura del file controlla per cominciare che la lista sia ancora presente in Liste!$BA$2:$BA$20, che comunque dipende da cosa e' presente in ORDINE-C22 e D22. Se i dati sono cambiati dovrai investigare su eventuali macro di auto_open o before_close, o su altre situazioni che potrebbero portare a un reset del contenuto del foglio Liste.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "[Excel] - Compilazione automatica di celle":


Chi c’è in linea

Visitano il forum: Nessuno e 57 ospiti