[ ben roj @ 28.04.2016. 12:37 ] @
Pozdrav svima, Malo uvoda da se razume kontekst. Pratim najvise nasu berzu i pravio am u excelu razne pregede. Onda sam ukapirao da VBA sve to moze jako lepo da automatizuje, pa sam sam poceo u starije dana da ucim i dosao sam do onako osrednjeg nivo da solidno radim sa knjiama, listovima kao objektima i svasta sa podacima oko trgovanja. I to mi nije problem , ali mi se pokazao da je uvlacenja sa Belexa u excel sheet putem DATA zatim FROM WEB , posao koji se stalno ponavlja kako za vise akcija, tako i isto to narednih dana. Ustvari trebalo bi ponavljati radnju za svaku akciju dok se lisita ne iscrpe svaki put , i hteo bih da izbegnem da naprvim CASE pa da onda ponavljam CASE 20 puta ( jer bi bilo oko 20 akcija) . cini mi se da je sa Do petljom, Inace akciju bi stavili da je promenljiv strng , i onda kada use ucitaju podaci da se list preimenuje i sacuva, pa onda uzme sledeca akcija i ponov ide na Belex i ucitaju podaci na list i td. i to se sve smesta u jednu knjigu , i da se tako vrti za sledecu akciju td . Evo vidite macro ricordede sta ja uradim i u crveno hocu da menjam u okviru Do petlje NE ZAMERITE NISAM INFORMATICAR AKO NESTO NESTRUCNO NAVEDEM I SKRACENO PISEM DA VIDITE KONTEKST I SAMO SUSTINU DA MI POOGNETE Sub Macro1() ' ' MAKRO UCITAVANJE PODATAKA ' Ucita se sa lista u kojoj su u koloni A od na primer 11 reda lista akcija TIPA TGAS KMBN NIIS KMNBPB i td do m broja akcija na primer 20 ' definisati ime knjige = “Book AKC2903” ‘ datum citanja POCETI PETLJU za svaku akciju pojedinacno sa liste ‘ lista se svaki put ucitava da bi se mogle i dodatai ili izbacitineke akcije i ovo sve mi nije problem da uradim , vec mi je sledeci problem kako da u petlji menjam akciju TJ OVO STO JE CRVENO NAVEDENO Do ili FOR petlja i =1 do kraja svih sa spiska do m Imeakcije (i) = TGAS Sheets("Sheeti").Select With ActiveSheet.QueryTables.Add(Connection:= _ "URL;http://www.belex.rs/trgovanje/istorijski/TGAS/12m", Destination:=Range( _ "$A$1")) .Name = "12m" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .WebSelectionType = xlEntirePage .WebFormatting = xlWebFormattingNone .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .WebSingleBlockTextImport = False .WebDisableDateRecognition = False .WebDisableRedirections = False .Refresh BackgroundQuery:=False End With ‘ ovo predpostavljam da su propertis za ucitavanje strane ActiveWindow.SmallScroll Down:=72 Sheets("Sheeti").Select Sheets("Sheeti").Name = "TGAS2903" ActiveWorkbook.SaveAs Filename:="C:\BERZA\BLX2903.xlsm", _ FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False NEXT i - tj uzmi sledecu akciju ' nakon zavrsenog ucitavanje svih akcija sa liste Workbooks(“BLX2903.xlsm” ) sacuvaj putanja gde zelis End Sub E to je sto bih sada u VBA da se to automatizuje, da ucitavam na jedan list jednu akciju i da se to automatski odradi, kada startujem cmd buton. Nadam se da sam ovom analizom uspeo da objasnim. Sa listovim i knjigama mi nije problem da radim i da budu promenljive, da ih preimenujem, kopiram i td, vec mi je problem da promenljive uvucem i menjam u postupku ucitavanja podataka. Ono sto je navedeno u tutorijalu ne razumem bas najbolje, nisam taj nivo znanja Hteo sam i da idem na VBA casove ali u celom Novom Sadu ih niko ne daje. Nasao sam jednog ali je kaze puno zauzet radi sada neki projekat. Zahvaljujem . |