BACK

 

 

 

Nizanje podataka metodom DATASERIES i AUTOFILL

  Nizanju brojeva u Excelu i pojašnjenja

 

Dataseries: 

Sub nizanje()

   [A1].Select ' Range("a1")
   [A:A] = ""
   [A1].Value = 1
   [A1].DataSeries Rowcol:=2, Type:=xlLinear, Step:=1, Stop:=324 
End Sub

 

Rowcol:=2    niz u koloni (pripaziti na zadnju kolonu 256)

Rowcol:=1    niz u redu (pripaziti na zadnji red 65536)

 

Type:=xlLinear/xlGrowth/xlChronological/xlAutoFill]

 

Step:=1 ili 2 itd    interval

 

Stop:=324  pozicija gdje serija završava

 

Uglate zagrade štede vrijeme i prostor u programiranju.

 

   Ako imate u koloni B određeni broj  podatka kojih želite numerirati nizom u koloni A, još naročito kad se broj podataka mjenja i dinamičan je a prilikom svake promjene želite postaviti redne brojeve napravite slijedeće:

 

Sub nizanje2()

   Dim i As Integer

   i =Cells(Rows.Count, 2).End(xlUp).Row' utvrdite broj podataka u koloni 2
   [A1].Value = 1
   [A1].DataSeries Rowcol:=2, Type:=xlLinear, Step:=1, Stop:=i 
End Sub

 

Sub mjeseci_uzlazno()
   Range("a1") = 1
With Range(Range("a1"), Cells(ActiveCell.Row, ActiveCell.Column + 11))
   .DataSeries Rowcol:=xlRows, Type:=xlLinear, Date:=xlMonth, Step:=1
End With
End Sub


Sub mjeseci_silazno()
   Range("a1") = 12
With Range(Range("a1"), Cells(ActiveCell.Row, ActiveCell.Column + 11))
   .DataSeries Rowcol:=xlRows, Type:=xlLinear, Date:=xlMonth, Step:=-1
End With
End Sub

 

AutoFill:

 

Komponente koje su potrebne da bi se ispravno

izvršila  radnja AUTOFILL

(ove komponente treba usporediti sa sa djelovima formule i njenim 

argumentima samo ove sintakse su za VB-a)

AutoFill reference --  pozicija odakle počima nizanje

Destination Range -- pozicija punjenje -pozicija gdje će se smjestiti niz

Type xlFillDefault/xlFillCopy/xlFillSeries/xlFillFormats/xlFillValues/

xlFillDays/xlFillWeekdays/xlFillMonths/xlFillYears/xlLinearTrend/xlGrowthTrend  - tipovi punjenja

Sub niz()
   Range("A1").Value = "pro-1999"
   Range("A2").Value = "ožu-2000"
   Range("A1:A2").AutoFill Destination:=Range("A1:A27"), Type:=xlFillDefault
End Sub

 

Sub niz1()
   Range("A1").Value = 1
   Range("A2").Value = 2
   Range("A1:A2").AutoFill Destination:=Range("A1:A27"), Type:=xlFillDefault
End Sub

Sub niz2()
   Range("A1").Value = 1
   Range("A2").Value = 3
   Range("A1:A2").AutoFill Destination:=Range("A1:A27"), Type:=xlFillDefault
End Sub

Sub složeno_nizanje()
   Range("a1") = 234
   Range("b1") = 1 'isti podatak
   Range("b1:b15").FillDown
   Range("c1") = 300
   Range("c1:c15").FillDown
   Range("d1").Select
If ActiveCell.Column = 4 Then
   ActiveCell.FormulaR1C1 = "=RC[-1]-R1C1"
   Range(ActiveCell.Address(False, False) & ":d" & Cells(Rows.Count, 2).End(xlUp).Row).FillDown
End If
End Sub

FillDown: nizanje prema dole

   FillDown reference

FillLeft: nizanje lijevo

   FillLeft reference

FillRight: nizanje desno

   FillRight reference

FillUp: nizanje prema gore

   FillUp reference 

Mnogi pokušavaju nizanje ostvariti petljama, formulama raznih kvaliteta i dužina. DATASERIES i AUTOFILL je pravi izbor naročito za veliko broj nizanja.

 

 Back to Top

 

 Širina i visina područja

Sub mjere()
   sirina = Range("A1:J1").Width
   visina = Range("A1:A10").Height
   MsgBox "Područje A1:J1 je široko " & sirina _
   & vbCrLf & "Područje A1:A10 je visoko " & visina
End Sub

Ako trebate podatak kolika je zajedničma visina ili širina nekog područja (nekoliko kolona ili nekoliko redova).