Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Caricare 2 fogli da 2 file in base a 3 criteri

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

Caricare 2 fogli da 2 file in base a 3 criteri

Postdi Alea » 10/01/12 17:24

Sera a tutti,
purtroppo ho un grosso problema.... Sto sistemando i file dell'ufficio e mi stanno chiedendo delle cose per me troppo complicate. Chiedo gentilmente se qualcuno può darmi una mano.
La situazione è questa:
1 file chiamato CB-TECH = file principale
3 file chiamati "ModuliOfferte_ECO" - "ModuliOfferte_PRO" - "ModuliOfferte_SLIM"
All'interno di questi 3 file ho 7 fogli che si chiamano:
CBCM
CBCM-C
CBLM
CBLM-C
CBLM-LO
CBLM-LU
CBCM-SP
1 file chiamato "Capitolati" con all'interno 4 fogli:
CBCM
CBLM
CBLM-L
CBCM-SP

Quello che devo fare è caricare 1 dei 7 fogli dei 3 file e 1 foglio del file "Capitolati".

Nel file principale CB-TECH ho questa situazione nel foglio chiamato "Riepilogo":
Immagine

- Nella cella B53 posso avere 3 scritte: "ECO" - "PRO" - "SLIM" che si devono associare ai 3 file "ModuliOfferte_ECO" - "ModuliOfferte_PRO" - "ModuliOfferte_SLIM"
- Nella cella B55 ho uno dei nomi dei 7 fogli
- Nella cella B57 ho uno dei nomi dei 4 fogli del file "Capitolati"

Il Percorso dei file "ModuliOfferte_ECO" - "ModuliOfferte_PRO" - "ModuliOfferte_SLIM" - "Capitolati" é sempre fisso:
G:\OFFERTE\ITALIANO

Nel caso dell'immagine allegata dovrò aprire il file "ModuliOfferte_PRO" copiare il foglio "CBCM-SP" e incollarlo nel file "CB-TECH" , poi aprire il file "Capitolati" copiare il foglio "CBCM-SP" e incollarlo sempre nel file "CB-TECH".

Ora non so se fare questa cosa sia facile o difficile. Confido nei ragazzi del forum.
Grazie mille per qualsiasi aiuto
Ivan

Se avete bisogno di chiarimenti sono totalmente a vostra disposizione :)
Alea
Utente Senior
 
Post: 145
Iscritto il: 24/07/06 14:12

Sponsor
 

Re: Caricare 2 fogli da 2 file in base a 3 criteri

Postdi Flash30005 » 10/01/12 21:04

purtroppo ho un grosso problema.... Sto sistemando i file dell'ufficio e mi stanno chiedendo delle cose per me troppo complicate.

Succede sempre così: "qualcuno" ha visto che automatizzi bene e ora aumentano le richieste, quindi datti da fare...
pretendi almeno un corso sul vba ;)


La macro che fa cio che chiedi potrebbe essere questa

Codice: Seleziona tutto
Sub CopiaFogli()
Perc = "C:\Temp"
FileF = Range("B53").Value
F1 = Range("B55").Value
F2 = Range("B57").Value
NF = Worksheets.Count
Workbooks.Open Filename:=Perc & "\ModuliOfferte_" & FileF & ".xls"
Sheets(F1).Select
Sheets(F1).Copy Before:=Workbooks("CB-Tech.xls").Sheets(NF)
Workbooks("ModuliOfferte_" & FileF & ".xls").Close SaveChanges:=False

Workbooks.Open Filename:=Perc & "\Capitolati.xls"
Sheets(F2).Select
Sheets(F2).Copy Before:=Workbooks("CB-Tech.xls").Sheets(NF)
Workbooks("Capitolati.xls").Close SaveChanges:=False
Sheets("Riepilogo").Select
End Sub


Il problema potrebbe sorgere in caso di due fogli uguali come nel tuo caso
CBCM-SP sia per uno dei tre file sia per i Capitolati
Inoltre se esegui la macro più volte ed il foglio
CBCM-SP è già stato copiato avrai un secondo, terzo, quarto foglio con lo stesso nome (numerato altrimenti non è possibile la copia con un nome foglio già esistente)

fai sapere
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: Caricare 2 fogli da 2 file in base a 3 criteri

Postdi Alea » 11/01/12 08:08

Succede sempre così: "qualcuno" ha visto che automatizzi bene e ora aumentano le richieste, quindi datti da fare...
pretendi almeno un corso sul vba ;)


Hai proprio ragione.. Purtroppo ci ho già provato più di un anno fa a chiedere se potevo fare un corso ma mi hanno risposto "picche"... Preferiscono andare a "scrocco" :)

Sta mattina ho inserito la tua macro ed è perfetta.
Il problema potrebbe sorgere in caso di due fogli uguali come nel tuo caso
CBCM-SP sia per uno dei tre file sia per i Capitolati

Ho risolto il problema cambiando il nome dei 7 fogli e il riferimento nella cella del file CB-TECH.
Ora non potrò più avere nomi "uguali".
Inoltre se esegui la macro più volte ed il foglio
CBCM-SP è già stato copiato avrai un secondo, terzo, quarto foglio con lo stesso nome

questa questione non sussiste perché ho necessità di importare i fogli solamente una volta.

A questo punto questi fogli caricati li devo anche compilare se possibile in automatico.
Mi permetto di chiederti un aiuto ;)
E' meglio che apro un'altro post o preferisci che continuo su questo?.

Intanto grazie infinite... sei davvero un grande. ("che ruffiano ;) ")
Alea
Utente Senior
 
Post: 145
Iscritto il: 24/07/06 14:12

Re: Caricare 2 fogli da 2 file in base a 3 criteri

Postdi Alea » 11/01/12 16:50

Ragionando su un po' sono arrivato alla conclusione che se, nel momento in cui importo i due fogli, devo rinominarli.
Facendo così probabilmente quando devo compilarli con una macro dovrebbe essere più "semplice".

Per questo mio ragionamento mi vedo costretto a chiedere una modifica alla macro che mi hai dato, e cioè:
- il foglio che importo dai file "ModuliOfferte_ECO" - "ModuliOfferte_PRO" - "ModuliOfferte_SLIM" si andrà a chiamare semplicemente "OFFERTA"
- il foglio che importo dal file "Capitolati" si andrà a chiamare "CAPITOLATO"

Se potresti gentilmente fare questa modifica quando hai tempo te ne sarei grato

Grazie
Ivan
Alea
Utente Senior
 
Post: 145
Iscritto il: 24/07/06 14:12

Re: Caricare 2 fogli da 2 file in base a 3 criteri

Postdi Flash30005 » 11/01/12 21:30

E' sufficiente aggiugere due righe di codice

Codice: Seleziona tutto
Sub CopiaFogli()
Perc = "C:\Temp"
FileF = Range("B53").Value
F1 = Range("B55").Value
F2 = Range("B57").Value
NF = Worksheets.Count
Workbooks.Open Filename:=Perc & "\ModuliOfferte_" & FileF & ".xls"
Sheets(F1).Select
Sheets(F1).Copy Before:=Workbooks("CB-Tech.xls").Sheets(NF)
Workbooks("ModuliOfferte_" & FileF & ".xls").Close SaveChanges:=False
Sheets(F1).Name = "OFFERTA2"    '<<<<<<<<<<<<<<<<<<<<<<   questa

Workbooks.Open Filename:=Perc & "\Capitolati.xls"
Sheets(F2).Select
Sheets(F2).Copy Before:=Workbooks("CB-Tech.xls").Sheets(NF)
Workbooks("Capitolati.xls").Close SaveChanges:=False
Sheets(F2).Name = "CAPITOLATO"        '<<<<<<<<<<<<<<<<<<<<<<  e  questa
Sheets("Riepilogo").Select
End Sub


Il primo foglio non può rinominarsi con nome "Offerta" in quanto c'è già un foglio "Offerta" ed è nascosto

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: Caricare 2 fogli da 2 file in base a 3 criteri

Postdi Alea » 12/01/12 08:08

grazie mille Flash
Alea
Utente Senior
 
Post: 145
Iscritto il: 24/07/06 14:12

Re: Caricare 2 fogli da 2 file in base a 3 criteri

Postdi Alea » 01/03/12 11:44

Salve a tutti
volevo chiedere se c'era la possibilità di fare una piccola modifica a questa macro:
Codice: Seleziona tutto
Sub CopiaFogli()
Perc = "C:\Temp"
FileF = Range("B53").Value
F1 = Range("B55").Value
F2 = Range("B57").Value
NF = Worksheets.Count
Workbooks.Open Filename:=Perc & "\ModuliOfferte_" & FileF & ".xls"
Sheets(F1).Select
Sheets(F1).Copy Before:=Workbooks("CB-Tech.xls").Sheets(NF) '<<<<<<<<<<<<<<<<<<<<<<  questa
Workbooks("ModuliOfferte_" & FileF & ".xls").Close SaveChanges:=False
Sheets(F1).Name = "OFFERTA2"   
Workbooks.Open Filename:=Perc & "\Capitolati.xls"
Sheets(F2).Select
Sheets(F2).Copy Before:=Workbooks("CB-Tech.xls").Sheets(NF)    '<<<<<<<<<<<<<<<<<<<<<<  questa
Workbooks("Capitolati.xls").Close SaveChanges:=False
Sheets(F2).Name = "CAPITOLATO"   
Sheets("Riepilogo").Select
End Sub


Le 2 righe segnate con "'<<<<<<<<<<<<<<<<<<<<<< questa" dovrebbero essere generiche nel senso che il nome del file "CB-Tech.xls" non è sempre lo stesso ma cambia.

E' possibile farlo.
Grazie mille
Alea
Utente Senior
 
Post: 145
Iscritto il: 24/07/06 14:12

Re: Caricare 2 fogli da 2 file in base a 3 criteri

Postdi wallace&gromit » 01/03/12 13:15

E' possibile farlo.


mi piace la sicurezza che dimostri: è vero, per flash è sicuramente possibile farlo, ma dovrai dirgli dove deve andare a pescare il nome corretto del file.
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1420
Iscritto il: 16/01/12 14:21

Re: Caricare 2 fogli da 2 file in base a 3 criteri

Postdi Alea » 01/03/12 13:27

hehehe e in effetti hai ragione :lol:

provo spiegare:
- apro il file CB-Tech.xls
- compilo le celle B53/B55/B57
- faccio partire la macro
- viene aperto il file "\ModuliOfferte_" & FileF & ".xls" corrispondente ai criteri delle celle sopra
- viene inserito il foglio nel file CB-Tech.xls (che è quello che sto utilizzando)

Praticamente sarebbe da sostituire il nome vero e proprio "CB-Tech.xls" con tipo un "*.xls" oppure con "copia nel file attivo".

Forse sono riuscito a spiegare meglio.
grazie
Alea
Utente Senior
 
Post: 145
Iscritto il: 24/07/06 14:12

Re: Caricare 2 fogli da 2 file in base a 3 criteri

Postdi wallace&gromit » 01/03/12 13:38

non vorrei sparare cavolate (che poi flash se la prende con me!) ma nella macro non si parla mai di salvataggio.
Tocca a te, dopo avere fatto l'operazione, salvare il file appena creato con il nome che vuoi tu, mantenendo l'originale sempre "vergine", no?
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1420
Iscritto il: 16/01/12 14:21

Re: Caricare 2 fogli da 2 file in base a 3 criteri

Postdi Alea » 01/03/12 13:48

La parte del salvataggio l'ho già affrontata in un'altra discussione.
In questo caso la macro deve solo copiare nel file attivo "CB-Tech.xls" (che può avere un altro nome) il foglio corrispondente ai criteri delle celle B.... contenuto nel file "ModuliOfferte_........"
Alea
Utente Senior
 
Post: 145
Iscritto il: 24/07/06 14:12

Re: Caricare 2 fogli da 2 file in base a 3 criteri

Postdi wallace&gromit » 01/03/12 14:22

prova a inserire all'inizio sotto perc =
Codice: Seleziona tutto
nome = ThisWorkbook.Name

e a sostituire "CB-Tech.xls"
con "nome" senza virgolette
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1420
Iscritto il: 16/01/12 14:21

Re: Caricare 2 fogli da 2 file in base a 3 criteri

Postdi Alea » 01/03/12 14:26

Funziona
grazie mille per l'aiuto
Alea
Utente Senior
 
Post: 145
Iscritto il: 24/07/06 14:12


Torna a Applicazioni Office Windows


Topic correlati a "Caricare 2 fogli da 2 file in base a 3 criteri":


Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti