Avko | 12.06.2015 00:39 |
---|---|
Predmet:vba excel dim redim preserve matrica dimenzioniranje matrice ovisi o broju redova i broju kolona dim matrica(redova,kolona) mozemo na pocetku zadati max broj redova i kolona koje sigurno nikada necemo upotrijebiti. dim matrica(1000,1000) redovi=127 kolone=322 for f=1 to redovi for e=1 to redovi matrica(f,e)=cells(f,e).value next e next f problem je sto imamo praznih polja u matrici isto tako UBound pokazuje sva polja i prazna i puna 1.pitanje: molim objasnjenje za koristenje dim, redim i preserve za 2D matricu. 2.pitanje: redovi i kolone nemoraju uvijek krenuti od 1, nekad redovi krenu od 17, 24 ili neki drugi broj, a kolone isto tako, a htio bi da u matricu upisuju od 1,1 dakle redovi=34 kolone = 189 for f= 15 to redovi for e=29 to kolone 'ovo ispod nije dobro matrica(f-(f-1),e-(e-1))=cells(f,e).value next e next f |
zxz | 12.06.2015 12:59 |
---|---|
Predmet:Re: vba excel dim redim preserve matrica Citat: 1.pitanje: Kada neznamo koliki nam je niz onda dimenzionisemo na sledeci nacin: dim NekiNaziv() as String e sada kada u toku izvrsenja procedure dobijemo vrijednost niiza napr. na osnovu petlje ili nceega drugoga. Uzmimo da je ta vrijednost i. Dim i as integer for i= 1 to n next i sad ide redim Redim NekiNaziv(i,8) as string Nekad se nam znam desiti da uopste neznamo vrijednost niza. Primjera radi kada niz punimo u petlji. tada bi morali jednom obrnuti pezlju na prazno da saznamo koliko varijabli trebamo pa onovo obrnuti da pokupimo vrijednosti. U ovom slucaju vrsimo redim za svaki prolaz petlje i najvjerovatnije i popunimo tu vrijednost. Ukoliko izvrsimo redim sve vrijednosti ako ih ima u toj varijabli se gube. da nebi izgubili vrijednosti ona koristimo preserve. Primjer: for i= 1 to N redim preserve NekiNaziv(i,8) NekiNaziv(i,8)="nekiPodatak" next i |
zxz | 12.06.2015 13:03 |
---|---|
Predmet:Re: vba excel dim redim preserve matrica Citat: 2.pitanje: racunar uvije broji od 0. ako dimenzionisemo: Dim a(1) as string Ovdje imamo dvije variable a(0)="NekaVrijednost" a(1)="nekavrijednost" Cesto puta moi to nevidimo tako jer nama je obicaj brojati od 1 pa mi preskacemo var(0). Nista se nece desiti sem sto se razbacujemo resursima pa ako je nasa app. kompleksna zauzimat ce vise memorije a nje nikad dosta i tra+eba voditi racuna. |
Avko | 12.06.2015 17:43 |
---|---|
Predmet:Re: vba excel dim redim preserve matrica hvala ja ocekivo da mi Div odgovori, a njega danas nema,ehh. dobro, kad nece nitko drugi dobro i ti dodes ![]() to sto si napisao dva posta ne znaci da cu ti dati + + dobices samo jedan, bilo ti krivo il milo. Recesija je druze, treba da se stedi. |
zxz | 12.06.2015 19:55 |
---|---|
Predmet:Re: vba excel dim redim preserve matrica Hehe kod mene to ne znaci nista jer sam presao maksimum. Pluseve treba davati radi postova jer se poslije lakse nadje. Nazalost meni su na pocetku bubali pluseve i u zabavi. Netreba stavljati pluseve na imena nego na post. |
Avko | 12.06.2015 21:05 |
---|---|
Predmet:Re: vba excel dim redim preserve matrica tebi ubuduce samo hvala Citiraj zxz: aha znaci mogu naci po upitu "davanje +"
Van teme: a ako se divim sam sebi kako sam dobro napisao mogu li sam sebi dati + kao u filmu vlak u snijegu kada je pero glasovo sam za sebe da bude voditelj zadruge hhhh |
Avko | 14.06.2015 13:09 |
---|---|
Predmet:Re: vba excel dim redim preserve matrica da mislio sam na preserve, pamcenje matrice te prosirivanje redova i kolona zato sam napisao ono gore da pokazem kako sam to rijesio uz pomoc transponse . arr=transponse(arr) |
Avko | 14.06.2015 12:16 |
---|---|
Predmet:Re: vba excel dim redim preserve matrica uhuhuhuuu, dakle bilo problema sa ovim dok nisam otkrio ovo: "kod redimenzioniranja vise dimenzionalne matrice, mozete redimenzionirati, povecati samo posljednju dimenziju matrice" u praksi je to ovako: dim matrica(10,10) ovo mozemo redim matrica(10,20) ali ovo ne mozemo redim matrica(20,10) dakle gubitak od cirka 4 dana dok sam banalnu stvar otkrio. Sigurno ste se zabavljali dok ste razmisljali o meni i mojim mukama. heheheh ![]() image uploading to sam onda rijesio ovako: PreuzmiIzvorni kôd (Visual Basic):
ispis u immediate: ivo(1,1)kruska ivo(1,2)sljiva ivo(1,3)tresnja ivo(1,4)visnja luka(2,1)sljiva luka(2,2)tresnja luka(2,3)visnja luka(2,4)jagoda mirko(3,1)tresnja mirko(3,2)visnja mirko(3,3)jagoda mirko(3,4)lubenica slavko(4,1)visnja slavko(4,2)jagoda slavko(4,3)lubenica slavko(4,4)krumpir |
zxz | 14.06.2015 12:29 |
---|---|
Predmet:Re: vba excel dim redim preserve matrica Citat: "kod redimenzioniranja vise dimenzionalne matrice, mozete redimenzionirati, povecati samo posljednju dimenziju matrice" PreuzmiIzvorni kôd (Visual Basic):
Mozda si mislio na preserve. ako njega koristis nemozes mijenjati sirinu matrice ili u praksi obicno kolone sto nama i netreba nego samo broj redova ili duzinu matrice. |