Carissimi, dopo aver provato senza risultati ad adattare alle mie esigenze le vostre numerose risposte su problemi simili mi trovo costretto a chiedervi aiuto con un nuovo topic dedicato.
Premetto che non ho nessuna conoscenza di basic e che il mio utilizzo delle macro fino ad oggi si era limitato a banali registrazioni.
Cercherò di essere il più chiaro possibile ma se avrete la pazienza di leggere e avete dei dubbi chiedete pure:
Sto costruendo un Data Base (finanziario) che vorrei venisse aggiornato giornalmente in automatico semplicemente facendo girare una macro.
Cerco di spiegare in due punti cosa vorrei ottenere:
1- Nel foglio "Import data" vengono importati da un sito internet i dati relativi ad alcuni titoli
http://s16.postimg.org/omf9356g5/import_data.jpg
In particolare i valori delle colonne D ed E si aggiornano automaticamente. Il valore di cui vorrei tenere traccia è "prec. chiusura" quindi per capirci le celle E5, E13, E21 e così via fino alla E 181.
Inoltre tali valori vorrei che venissero registrati in un DB, e qui viene il difficile:
2- Nel foglio "Data base" ho inserito un "flag" per fare in modo che venga riconosciuta la data e - per la colonna corrispondente - vorrei che venissero riportati i dati importati in "import data" (punto 1 precedente). Cerco di spiegarmi meglio con le immagini:
http://s23.postimg.org/fhohnz2rf/Database_valori.jpg
http://s16.postimg.org/r28ss97mt/Data_Base_formule.jpg
In pratica il programma, riconoscendo che oggi è il 28 aprile (day flag =1) mi riporta nella colonna indicata dal flag i dati scaricati in "import data". Il problema si porrà domani.. Il 29 aprile importerò le nuove quotazioni in import data e, aggiornandosi la funzione "oggi" tali dati saranno riportati nella colonna relativa al 29 aprile nel foglio "Data Base".. Ma non terrò più traccia dei dati che avevo importato il 28 aprile.. Insomma un pessimo database.
Per questo la macro che avevo ipotizzato dovrebbe fare le seguenti operazioni:
1. Nel foglio "Data base" Nelle colonne relative ai giorni precedenti (fino a quando il "cumulated day flag" è uguale a 1) copia ed incolla nelle medesime colonne i dati che trova
2. Nel foglio "import data" vengono aggiornati i dati tramite la query
3. Nel foglio "Data base", Relativamente alla colonna odierna (indicata dal day flag =1) vengono copiati ed incollati i valori appena ottenuti dalla query del foglio "import data".
In questo modo mi troverei ad avere il dato odierno aggiornato senza aver perso i valori storici.
Spero di essere stato sufficientemente chiaro ma se avete dubbi chiedete pure.
Grazie a tutti in anticipo,
Marcello
P.S. Se può essere d'aiuto la formula che utilizzo per pescare il dato relativo al giorno odierno nel foglio database è la seguente:
=INDICE(dati_import;CONFRONTA(B9;'Import Data'!$C$5:$C$187;0);3)
Di nuovo grazie