Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

MACRO CONSOLIDA / COLLEGAMENTO

Ultimo Aggiornamento: 11/05/2017 15:13
Post: 1
Registrato il: 18/02/2017
Città: PADOVA
Età: 35
Utente Junior
2010
OFFLINE
18/02/2017 15:31

Gestione database, collegamento tra cartelle
Buongiorno a tutti,

mi trovo a dover gestire un database nel quale riporto i valori provenienti da altri file excel. Questi file excel da cui prendo i valori hanno tutti lo stesso format, ossia i valori di mio interesse sono riportati sempre nelle stesse celle Quello che sto cercando di fare è automatizzare il processo, evitandomi così lunghi e noiosi capia/incolla. So dell'esistenza della funzione "PERCORSO" (es. C:\Documenti\[A1.xlsx]Foglio3'!$B$1), ma tale funzione non è "automatica", ossia dovrei andare ogni volta a cambiare il nome del file excel da cui attingere.

Quello a cui vorrei arrivare è un file in cui nella prima colonna siano riportati i nomi dei file da cui pescare i dati e in ciascuna riga il corrispondente percorso in aggiornamento automatico.

In altre parole un database che si sviluppa in orizzontale pescando i dati da altre cartelle (vedi immagine allegata).

Se conoscete una macro a riguardo tanto meglio! [SM=x423026]

Grazie in anticipo per l'aiuto!
Andrea
[Modificato da andrea_c.ExcelForum 18/02/2017 15:49]
Post: 2.779
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
18/02/2017 15:40

Andrea il testo del tuo post risulta incomprensibile perchè pieno di "diciture strane"

Riproponili controllando in anteprima che sia leggibile correttamente.

Alfredo
Post: 1
Registrato il: 18/02/2017
Città: PADOVA
Età: 35
Utente Junior
2010
OFFLINE
18/02/2017 15:52

Ciao Alfredo,

hai pienamente ragione, avevo fatto un copia incolla di una tabella per fare un esempio.
Ad ogni modo ora ho sistemato.

Grazie,
Andrea
Post: 2.780
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
18/02/2017 17:26

Onestamente non ho capito il tuo obiettivo finale.

Puoi allegare dei file di esempio con il risultato desiderato inserito a mano su uno di questi?

Alfredo
Post: 2
Registrato il: 18/02/2017
Città: PADOVA
Età: 35
Utente Junior
2010
OFFLINE
24/02/2017 11:37

Ho approfondito il tema [SM=x423024] , ed ho capito che ciò che voglio fare non è altro che la funzione CONSOLIDA. Ciò che vorrei arrivare quindi a fare è una macro che permetta di avere la funzione CONSOLIDA in automatico.

Andrea
Post: 2.819
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
24/02/2017 11:58

Non avendo mai usato il CONSOLIDA non lo conosco ma se fai le operazioni manualmente registrando la macro al termine avrai il codice.

Alfredo
Post: 5
Registrato il: 18/02/2017
Città: PADOVA
Età: 35
Utente Junior
2010
OFFLINE
27/02/2017 11:58

Buongiorno a tutti,

mi trovo alle prese con la gestione di un database nel quale vengono riportati dati da altri file. Questi file da cui si prendono i dati da riportare nel "masterdata" hanno tutti la stessa struttura e si trovano tutti in una determinata cartella.
Quello che sto cercando di fare è di automatizzare il lavoro, evitandomi così lunghi e noiosi copia/incolla [SM=x423051].
So dell'esistenza della funzione CONSOLIDA e della funzione PERCORSO, ma entrambe non so come automatizzarle.
Quello a cui mi piacerebbe arrivare tramite macro è un "masterdata" nel quale leggendo il nome del file da cui prendere i dati in una determinata cella mi faccia il copia/incolla in automatico nelle apposite celle.

Vi ringrazio fin da subito per l'aiuto!

Andrea
Post: 2.839
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
27/02/2017 12:27

Scusa Andrea ma questa discussione non è la replica di questa?

http://www.freeforumzone.com/d/11364306/Gestione-database-collegamento-cartelle/discussione.aspx

Alfredo
Post: 5
Registrato il: 18/02/2017
Città: PADOVA
Età: 35
Utente Junior
2010
OFFLINE
27/02/2017 12:46

Si Alfredo, lo è. L'altra discussione mi sembra alquanto morta e sto continuando la mia ricerca.
Inoltre, a causa mia, la discussione era alquanto confusa. Ho preferito resettare e ripartire con un'altra.

Andrea
Post: 2.840
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
27/02/2017 13:24

Ti avevo già suggerito di fare manualmente il consolidamento registrando la macro; hai provato?

Alfredo
Post: 6
Registrato il: 18/02/2017
Città: PADOVA
Età: 35
Utente Junior
2010
OFFLINE
27/02/2017 13:26

Si, ho provato. Non è quello il mio obiettivo.

Grazie,
Andrea
Post: 2.842
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
27/02/2017 15:00

Scusa ma l'idea di allegare uno straccio di file di esempio con dati, spiegazione e risultato desiderato inserito a mano non ti sfiora neanche?.

Puoi farci vedere quello che tu hai fatto per cercare di risolvere il problema e dove ti sei bloccato?

Alfredo
Post: 5.072
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
27/02/2017 15:25

Unione
Ciao unisco le 2 discussioni

per riportare la discussione di nuovo nelle prime pagine, basta fare scrivere un nuovo post, anche con scritto, "AIUTO"

By Sal [SM=x423051]
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 9
Registrato il: 18/02/2017
Città: PADOVA
Età: 35
Utente Junior
2010
OFFLINE
09/03/2017 00:25

Grazie sal! Non sapevo della possibilità di scrivere AIUTO per far tornare "in vita" la discussione.
Ad ogni modo, polemiche a parte, volevo dirvi che approfondendo la tematica sono riuscito ad arrivare alla soluzione, o meglio sono al 90%. Mi piacerebbe quindi condividerla con voi sperando che qualcuno possa aiutarmi colmando quel 10% che mi manca.

Ho risolto il problema implementando la seguente macro che mi crea dei collegamenti per ciascuna riga:

Sub Test()
Range("B2").Select
Do While ActiveCell.Offset(0, -1).Value <> ""


FILE = ActiveCell.Offset(0, -1).Value
ActiveCell = "='C:\Users\Andrea\Documents\CONSOLIDA\[" & FILE & "]a '!$B$2"


ActiveCell.Offset(1, 0).Select
Loop

Range("C2").Select
Do While ActiveCell.Offset(0, -2).Value <> ""


FILE = ActiveCell.Offset(0, -2).Value
ActiveCell = "='C:\Users\Andrea\Documents\CONSOLIDA\[" & FILE & "]a '!$B$3"


ActiveCell.Offset(1, 0).Select
Loop

Range("D2").Select
Do While ActiveCell.Offset(0, -3).Value <> ""


FILE = ActiveCell.Offset(0, -3).Value
ActiveCell = "='C:\Users\Andrea\Documents\CONSOLIDA\[" & FILE & "]a '!$B$4"


ActiveCell.Offset(1, 0).Select
Loop

End Sub

Allego il masterdata e i file correlati per cercare di piegarmi meglio.

Ciò che mi manca è l'implementazione della parte relativa agli "ARTICOLI" (vedi file). Infatti nei file A1, A2, A3 gli articoli sono riportati in 3 righe, mentre nel master data dovrei riportarli tutti in un'unica cella. Sapete dirmi come fare?

Grazie mille,
Andrea
Post: 10
Registrato il: 18/02/2017
Città: PADOVA
Età: 35
Utente Junior
2010
OFFLINE
13/03/2017 20:05

AIUTO.


Qualcuno che sa darmi una dritta per favore?

Grazie mille,
Andrea
Post: 11
Registrato il: 18/02/2017
Città: PADOVA
Età: 35
Utente Junior
2010
OFFLINE
11/05/2017 15:13

Ciao,

avrei bisogno di AIUTO per chiudere l'ultimo punto. Qualcuno sa aiutarmi?

Grazie in anticipo!

Andrea
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 23:18. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com