IZBORNIK HOME FORUM ACCESS EXCEL WORD  
 

HOME

   
6

SVOJSTVA - PROPERTIES

6.1 Svojstva objekta
6.2 Svojstva Range
6.3 Svojstva Cells
6.4 Svojstva Offset
   
   
 

MICROSOFT EXCEL 2003 - VBE i VBA - Svojstva u VBA, Properties in VBA

Svojstva u VBA u Excelu
(
Properties in VBA)

Search This Web Site

Adsense sponzor






Svojstvo Cells u VBA za Excel

Kao i svojstvo Range, svojstva Cells imaju Worksheet i Range objekti. Postoje tri sintakse korištenja ove osobine:

Objekt.Cells(rowIndex,columnIndex)
Objekt.Cells(rowIndex)
Objekt.Cells

Najjednostavniji i najlogičniji je prvi način korištenja. Na primjer, naredbom

Worksheets("Sheet1").Cells(3,5) = 51

pristupa se ćeliji u sjecištu trećeg reda i petog stupca, tj. ćeliji E3, i u nju se upisuje broj 51. S obzirom da radni list u Excel 2003 ima 65536 redova i 256 stupaca, indeks reda u svojstvu Cells je broj između 1 i 65536, dok je broj stupca između 1 i 256. Dakle Cells(1,1) odgovara ćeliji A1. Cells(row, column) => prvi red prvi stupac

U drugom načinu korištenja ovog svojstva navodi se samo broj reda, i u tom slučaju se ćelijama opsega pristupa kao da je raspon razvijen u niz, red po red.

Na primjer, naredbom:

Worksheets("Sheet1").Cells(8) = 11
Worksheets("Sheet1").Cells(258) = 12

pristupa se  ćelijama H1 i B2. Zašto je ovo ovako. Da bi bolje razumjeli malo ću pojasniti. Ako krenemo od ćelije A1 u desno osma (8) ćelija je H1, a do kraja je 256 ćelija+ novi red dvije ćelije =258 (256+2=258) => B2 ćelija i u njoj će biti rezultat 12.

Posljednjoj ćeliji radnog lista se pristupa sa  Worksheets("Sheet1").Cells(16777216)

Treća sintaksa, bez navođenja broja reda i stupaca, vraća sve ćelije referencirane radne knjige. Prethodne dvije sintakse su vraćale jednu ćeliju.

Na primjer, naredba ActiveSheet.Cells = 45 u čitav radni list upisuje broj 45,

dok naredba, ActiveSheet.Cells.ClearContents briše sadržaj čitavog radnog lista.

Kada se svojstvo Cells koristi sa Range objektima, imamo sličnu situaciju kao kod svojstva Range tj. argumenti u zagradi će definirati relativnu adresu ćelije u odnosu na aktivnu ćeliju, koja se nalazi u gornjem lijevom kutu referenciranog raspona.
Na primjer, ako je aktivna ćelije B5, naredbom

ActiveCell.Cells(1,1) = 5
ActiveCell.Cells(
2,2) = 6

mijenjat ćemo sadržaj ćelijama B5 (aktivna) i C6. Kada se izostavi broj stupca, onda se ćelijama raspona pristupa kao da je raspon razvijen u niz, red po red.

Na primjer, naredba Range("A1:D5").Cells(5) vraća ćeliju A2. Ovim zapisom nismo ograničeni samo na pristup ćelijama iz raspona A1:D5, već možemo pristupati i ćelijama tog raspona.

Na primer, naredbom Range("A1:D5").Cells(22) bismo referencirali ćeliju B6.

Ukoliko želimo da zaobiđemo selektirani raspon, ćeliju po ćeliju, i da izvršimo određenu operaciju (recimo, upis slučajnog broja koji vraća funkcija Rnd) sa svakom ćelijom, to možemo efikasno uraditi koristeći dvije petlje i svojstvo Cells na slijedeći način:

Dim I As Integer, J As Integer
For I = 1 To Selection.Rows.Count
For J = 1 To Selection.Columns.Count
Selection.Cells(I, J) = Rnd
Next
Next

Broj redova i stupaca predmetnog raspona dobiva se pomoću svojstva Count objekta Range. Raspon se može zaobići i koristeći svojstvo Cells sa jednim argumentom, što je dato ispod.

Dim I As Integer
For I = 1 To Selection.Count
Selection.Cells(I) = Rnd
Next

 (primjer uz dozvolu prenesen iz materijala sa predavanja prof. S.Đukanović)

Adsense sponzor




Adsense sponzor




Adsense sponzor



Ova web stranica koristi COOKIES - COPYRIGHT - 2011 - IvanC - ic.ims.hr