Bosna i Hercegovina



#1 05.12.2016-11:53
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,319


Subject: 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 fajlu: rar  excelProba.rar
Preuzimanja: 96
Veličina: 10.84 KB


Život je moja domovina.
↑  ↓

#2 05.12.2016-16:10
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,837


Subject: Re: VBA excel zadnja kolona i zadnji red prije praznog polja
Mozda si ovo htio?
DownloadIzvorni kod (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

Pozdrav
↑  ↓

#3 05.12.2016-16:44
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,319


Subject: 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
Život je moja domovina.
↑  ↓

#4 06.12.2016-09:42
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,837


Subject: Re: VBA excel zadnja kolona i zadnji red prije praznog polja
Evo da prebrojis kolone moze i ovako.
DownloadIzvorni kod (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

Pozdrav
↑  ↓

#5 06.12.2016-09:52
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,319


Subject: 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
Život je moja domovina.
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 06.12.2016-09:53 od strane Avko. ↑  ↓

#6 06.12.2016-10:13
dex Offline
Super Moderator
Registrovan/a od: 23.02.2012-19:59
Komentari: 606


Subject: 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 Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,319


Subject: 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.
Život je moja domovina.
↑  ↓

#8 06.12.2016-12:09
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,837


Subject: 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
DownloadIzvorni kod (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

Pozdrav
↑  ↓

#9 06.12.2016-13:42
Avko Offline
Administrator
Registrovan/a od: 28.05.2014-09:21
Komentari: 3,319


Subject: 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

DownloadIzvorni kod (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:

DownloadIzvorni kod (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.
Život je moja domovina.
↑  ↓

#10 06.12.2016-15:51
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,837


Subject: 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..
Pozdrav
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 06.12.2016-18:06 od strane Avko. ↑  ↓

Stranice (1): 1


All times are GMT +01:00. Current time: 16.12.2018-22:55.