Aiuto VBA per tesi di laurea

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
Rafa91
00lunedì 1 febbraio 2016 09:56
Ciao a tutti, avrei bisogno di un parere di voi esperti per un lavoro di tesi che sto svolgendo. <br class="cbrh" /> <br class="cbrh" />Avrei bisogno di associare ad un mio campione iniziale di 1.200 celle, altrettante societ&agrave; da un database pi&ugrave; ampio(circa 200.000) che rispettano queste tre condizioni: <br class="cbrh" />1) Stesso anno (var 1) <br class="cbrh" />2) Mktv (Var2) compresa tra un intervallo (diverso per ogni societ&agrave; iniziale) <br class="cbrh" />3) BTM (var3) pi&ugrave; vicina a quella della societ&agrave; iniziale. <br class="cbrh" /> <br class="cbrh" />Vi metto in allegato con istruzioni nel foglio "descrizione del lavoro" per meglio capire la questione. <br class="cbrh" />Vi ringrazio in anticipo per ogni aiuto [SM=x423030]<br class="cbrh" /><br class="cbrh" />Ecco il link da dropbox<br class="cbrh" /><span>[URL=][/URL]</span><span>[URL=][/URL]</span><a href="https://www.dropbox.com/home/VBA%20file">https://www.dropbox.com/home/VBA%20file</a><br class="cbrh" />
federico460
00lunedì 1 febbraio 2016 10:08
Ciao

e l'allegato?

se non te lo carica zippalo
Rafa91
00lunedì 1 febbraio 2016 10:45
Non riesco a caricarlo nemmeno con lo zip... è un file di circa 30 mb, [SM=g27826]
federico460
00lunedì 1 febbraio 2016 11:07
usa dropbox o similari
Rafa91
00lunedì 1 febbraio 2016 11:33
federico460
00lunedì 1 febbraio 2016 12:24
Ciao
quando hai caricato il file hai
selezionato CONDIVIDI link dropbox?

mi chiede la tua pass
ergo non l'hai messo in condivisione
Rafa91
00lunedì 1 febbraio 2016 12:29
si guarda dovrei aver impostato la condivisione. comunque rimetto il link. fammi sapere se riesci, altrimenti potrei inviartelo via mail.
https://www.dropbox.com/sh/3dgxyfqojaapo7m/AABSN7EbWJ0RSCAxniIQPYg-a?dl=0
raffaele1953
00lunedì 1 febbraio 2016 14:26
Per uno non laureato, puoi dire quali sono le regole.
Nel primo post forse hai inserito dei Tag e non si capisce nulla.
Credo che "sample" l'hai inserito Tu, adesso prendo la prima riga di "Campione di riferimento" e cosa devo cercare in "Campione Grande"

Ps Non vedo nessuna "societ & agrave", fai un esempio descrittivo
Rafa91
00lunedì 1 febbraio 2016 14:59
ovviamente mi scuso per la poca chiarezza, cerco di spiegarmi meglio.

Ho bisogno di trovare nel "campione grande" una societa che riporti le specifiche caratteristiche di ogni societa del"campione di riferimento", ovvero
1. che la variabile ANNO (in arancio) sia uguale
2. che la variabile MKTV (in rosso) sia compresa nell'intervallo di valore determinato nel foglio" campione di riferimento:
(MIN Mktvl;Max Mktv)*

3. che la variabile BTM (in blu) sia quanto piu vicina possibile a quella della societa del "campione di riferimento"

Quindi alla fine io dovrei trovarmi un campione finale dell'esatto numero di quello "di riferimento" costituito dalle societa del campione Grande per così dire "gemelle".
Quando prendi la prima riga del campione di riferimento, cerchi nel campione grande la cella che riporta stesso anno, Mktv compreso nell intervallo (min max) e BTM piu vicino
Spero di essere stato più chiaro di prima.


PS: il foglio sample l'ho inserito io ma è la replica di "campione di riferimento" pertanto si può eliminare.


raffaele1953
00lunedì 1 febbraio 2016 16:26
Premesso che si parla di 160.000 righe, il codice ci metterà parecchio.
Premesso che noto diverse formule =+CERCA.VERT(A2;'C:\Users\flaviociro\.... che naturalmente non posso verificare

C'e qualcosa che non mi torna
In campione di riferimento ci sono 10 righe con Data=1988
In Campione grande non c'è nessuna Data=1988
Pertanto per queste dieci righe non farà nulla

Ordinando per Data ex cerco il 1989, posso determinare il range dell'anno che inizia in riga13 e finisce a riga31
1° requisito trovato. Adesso facendo un ciclo completto su tutte queste righe, posso determinare quale sarà la riga che abbia (sia BTM più vicino ed MKTV idonea), se non lo trova non scrive nulla.
Cancellando sample, descrivi ogni intestazione di colonna che desideri e da quale foglio prelevarlo indicando anche la colonna?
Rafa91
00lunedì 1 febbraio 2016 16:52
Riguardo l'anno hai ragione, non ci sono nel campione grande, pero non importa se mancano ai fini della tesi, quindi va benissimo.
Per quanto riguarda le celle che mi servono provengono dal foglio "campione grande" e sono:

Ticker symbol: cells (a,6) COLONNA F
Cusip: cells(a,7) COLONNA G
Company name : cells (a, 8) COLONNA H
BV: cells (a, 11) COLONNA K
MKTV: cells(a, 12) COLONNA L
BTM: cells(a,13) COLONNA M

Avrei bisogno però della società di partenza da cui si è arrivati alla gemella, quindi sarebbe preferibile avere le info sul foglio "campione di riferimento", oppure su un nuovo foglio in cui però ci sono i dati anche delle company di partenza.
Prima di trovare questo forum, avevo iniziato a farlo io a mano sul foglio "campione di riferimento", ergo potrai trovare dei dati nelle colonne j, k,l etc..
raffaele1953
00lunedì 1 febbraio 2016 21:03
In riga D161625 ho scritto 2013 e ho trasformato la colonna D da "numeri scritti come testo in numeri"

Ho ridotto il file per provare, vedi i risultati nelle colonne R/W
Se va bene copia il codice nel Tuo file, altrimenti cerca di rispondermi subito perchè per il resto della settimana non ci sono

http://www.filedropper.com/controlsamplbahr2
Rafa91
00lunedì 1 febbraio 2016 21:27
va benissimo così, mi hai tolto veramente una mole di lavoro. ti ringrazio davvero tanto.
un ultima cosa: ho notato che ha preso le stesse società che che avevo nel campione iniziale, dato che ci sono anche loro. se io ora nel mio file cancello le società del campione di riferimento dal " campione grande", in termini di macro non succede nulla vero?
raffaele1953
00lunedì 1 febbraio 2016 21:52
Non ti conviene eliminare nulla cambierebbe la posizione delle colonne e bisognerebbe modificare il codice
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 15:53.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com