Centar za edukaciju-BiH



#1 05.12.2016 11:53
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,813


Predmet:VBA excel zadnja kolona i zadnji red prije praznog polja
kada trebamo zadnji red u nekoj koloni a da je prije praznog polja koristimo formulu:
zadnjiRed = ActiveSheet.Cells.Range("A1").End(xlDown).Row
ovo ce nam dati zadnji red u koloni A a koji je prije praznog polja.
moj problem je u tome ako imam vise kolona i zelim za svaku kolonu dobiti zadnjRed tada neznam kako se mijenja A1 u formuli dakle imam :
for f=prvaKolona to zadnjaKolona
zadnjiRed = ActiveSheet.Cells.Range("A1").End(xlDown).Row 'kako zamijeniti A1 sa f
next f
primjer u prilogu

Prilozi:
Informacije o tipu datoteke za:rar  excelProba.rar
Preuzimanja:382
Velicina datoteke:10.84 KB


zivot je moja domovina.
↑  ↓

#2 05.12.2016 16:10
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,644


Predmet:Re: VBA excel zadnja kolona i zadnji red prije praznog polja
Mozda si ovo htio?
PreuzmiIzvorni kôd (Visual Basic):
  1. Sub test()
  2.     Sheets("List1").Select
  3.    
  4.     Dim prvaKolona As Long
  5.     prvaKolona = 1 'pocinjemo od 1.kolone
  6.    Dim zadnjaKolona As Long
  7.     zadnjaKolona = ActiveSheet.Range("A1").CurrentRegion.Columns.Count
  8.    
  9.     Dim prviRed As Long
  10.     Dim ImeKolone As String
  11.     prviRed = 2 'pocinjemo od 2.reda jer je prvi red zaglavlje
  12.    Dim zadnjiRed As Long
  13.     For f = prvaKolona To zadnjaKolona
  14.         'zadnjiRed = ActiveSheet.Cells.Range("A1").End(xlDown).Row
  15.        'odrediti zadnji red prije praznog polja za svaki stupac f
  16.        With ActiveSheet
  17.         zadnjiRed = .Cells(.Rows.Count, f).End(xlUp).Row
  18.         ImeKolone = Split(.Cells(, f).Address, "$")(1)
  19.         End With
  20.         'MsgBox "kolona:" & ImeKolone & vbNewLine & "zadnjiRed:" & zadnjiRed
  21.        Dim R As String
  22.         R = MsgBox("kolona:" & ImeKolone & vbNewLine & "zadnjiRed:" & zadnjiRed, _
  23.             vbOKCancel + vbApplicationModal + vbDefaultButton1, "Napomena")
  24.         If R = vbCancel Then
  25.         Exit For
  26.         End If
  27.     Next f
  28.    
  29. End Sub

Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#3 05.12.2016 16:44
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,813


Predmet:Re: VBA excel zadnja kolona i zadnji red prije praznog polja
Probat cu sutra pa javim ali ovako od oka ono .End(xlup) zamjenir cu sa .End(xlDOwn) pa cu vidjeti sto tvoj kod radi
zivot je moja domovina.
↑  ↓

#4 06.12.2016 09:42
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,644


Predmet:Re: VBA excel zadnja kolona i zadnji red prije praznog polja
Evo da prebrojis kolone moze i ovako.
PreuzmiIzvorni kôd (Visual Basic):
  1. Function Zadnja_Kolona()
  2.     Dim Zadnja As Long
  3.     With ActiveSheet.UsedRange
  4.         Zadnja = .Columns(.Columns.Count).Column
  5.     End With
  6.     MsgBox Zadnja
  7. End Function

Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#5 06.12.2016 09:52
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,813


Predmet:Re: VBA excel zadnja kolona i zadnji red prije praznog polja
nisam znao da ces iz glave raditi. Trebao sam sliku staviti, a da sam samo sliku stavio rekao bi mi da okačim primjer. hehehe


znaci , prebrojati do prve prazne celije
zivot je moja domovina.
Ovaj post je ureden 1 puta. Posljednja izmjena 06.12.2016 09:53 od strane Avko. ↑  ↓

#6 06.12.2016 10:13
dex Van mreze
Super Moderator
Registrovan od:23.02.2012
Postovi:625


Predmet:Re: VBA excel zadnja kolona i zadnji red prije praznog polja
A da negde dole nisko postavis funkciju counta(A2:A17)
dobijas broj celija koje nisu prazne
↑  ↓

#7 06.12.2016 10:25
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,813


Predmet:Re: VBA excel zadnja kolona i zadnji red prije praznog polja
biće brdo tih listova pa sam mislio napraviti kod koji bi upotrijebio na sve listove. Da nemoram unositi ispod svake kolone funkciju prebroji celije koje nisu prazne, a evo sada sam i pred problemom sortiranja kolona ali po kriteriju prve celije. Fino sam zamislio sve to i htio sam se necim zabavljat, ali onda dodem do stvari koje neznam rijesiti.
zivot je moja domovina.
↑  ↓

#8 06.12.2016 12:09
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,644


Predmet:Re: VBA excel zadnja kolona i zadnji red prije praznog polja
E ovo sam mislio tebi ostaviti jer znam da znas to uraditi.
Kako si brebrojao kolone tako preberojis i redove u koloni i ako naidjes na prazanu celiju znaci to je ta
PreuzmiIzvorni kôd (Visual Basic):
  1. Sub test()
  2.     Sheets("List1").Select
  3.    
  4.     Dim prvaKolona As Long
  5.     prvaKolona = 1 'pocinjemo od 1.kolone
  6.    Dim zadnjaKolona As Long
  7.    
  8.     zadnjaKolona = ActiveSheet.Range("A1").CurrentRegion.Columns.Count
  9.     Dim prviRed As Long
  10.     Dim ImeKolone As String
  11.     prviRed = 2 'pocinjemo od 2.reda jer je prvi red zaglavlje
  12.    Dim zadnjiRed As Long
  13.     For f = prvaKolona To zadnjaKolona
  14.         With ActiveSheet
  15.         Dim Cell As Range
  16.             For Each Cell In .Columns(f).Cells
  17.                 If Len(Cell) = 0 Then
  18.                 MsgBox "Celija" & Cell.Address
  19.                 Exit For
  20.                 End If
  21.             Next Cell
  22.         End With
  23.     Next f
  24.    
  25. End Sub

Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#9 06.12.2016 13:42
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Postovi:4,813


Predmet:Re: VBA excel zadnja kolona i zadnji red prije praznog polja
nebi ja to nikad napravio.
ovo nebi znao:

Dim Cell As Range - znam za Long,Int, String ali ovo nisam znao

PreuzmiIzvorni kôd (Text):
  1. For Each Cell In .Columns(f).Cells - dan danas mi je nejasno ovo Each, uvijek prepisujem sa interneta
  2. ...
  3. Next Cell

ovo mi je jako dobra stvar:

PreuzmiIzvorni kôd (Text):
  1. R = MsgBox("kolona:" & ImeKolone & vbNewLine & "zadnjiRed:" & zadnjiRed, _
  2.             vbOKCancel + vbApplicationModal + vbDefaultButton1, "Napomena")
  3.         If R = vbCancel Then
  4.                    Exit For
  5.         End If

ja sam uvijek stavljao breakpoint pa sa F8 pokrenuo opet do breakpointa ili zaustavio kod ako sam zelio izaci. Sada uz ovo tvoje nemoram brinuti o breakpointu uvijek za vrijeme msgbox-a mogu sa ESC zaustaviti izvrsavanje koda.
zivot je moja domovina.
↑  ↓

#10 06.12.2016 15:51
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,644


Predmet:Re: VBA excel zadnja kolona i zadnji red prije praznog polja
For Each Objekat In SkupinaObjekata

next objekat.

Pa moze biti skupina kolona u celiji i celija.
Skupina redova pa red
Skupina shitova u aplikaciji itd..
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
Ovaj post je ureden 1 puta. Posljednja izmjena 06.12.2016 18:06 od strane Avko. ↑  ↓

Stranice (1):1


Sva vremena su GMT +01:00. Trenutno vrijeme: 10: 32 pm.