Treba u koloni a da mi izlazi redni broj u zavisnosti od toga da li je c popunjeno,i to od a8 do kraja u zavisnosti od c8 pa do kraja....takodje bi bilo pozeljno da ukucam ja prvi broj,pa posle da krece od njega...znam ovo pomocu funkcije if,ali mi treba bas vba kod za ovo....Hvala
Redni broj u excel tabeli pomocu vba
Zaključano
Zakačeno
Ako znas sa formulom moguće je forumulu upisati pomoću VBA Forumla u VBA. Ipak u VBA postoji i jednostavniji način
Code:
Option Explicit
Sub RedniBroj()
' Zavisno da li je odgovarajucua celija kolone C (cl) neprazna
' formira se redni broj u koloni A
' pocevsi od nekog zadatog broja
' P.Jovanovic za elitesecurity.org
'
Dim sh As Worksheet
Dim rwEnd As Long ' Poslednji red za koji se formira redni broj
Dim rw As Long ' Brojac redova
Dim RedBr As Long ' Redni broj
Const rwStart As Integer = 8 ' Uslov da se pocinje od 8 reda
Const cl As Integer = 3 ' Kolona C se koristi za uslov
'Unos pocetnog rednog broja
RedBr = Application.InputBox(Prompt:="Unesi pocetni redni broj", Title:="Poèetni broj", Default:=1, Type:=1)
Set sh = ActiveSheet ' List na kojem se radi
rwEnd = sh.Cells(65535, cl).End(xlUp).Row ' Poslednji popunjen red
For rw = rwStart To rwEnd
If Len(Trim(sh.Cells(rw, cl).Text)) > 0 Then ' Da li je æelija popunjena
sh.Cells(rw, 1).Value = RedBr ' Upis rednog broja u kolonu A
RedBr = RedBr + 1 ' Sledeci redni broj
Else
sh.Cells(rw, 1).Value = "" ' Prazna ćelija
End If
Next rw
End Sub
Option Explicit
Sub RedniBroj()
' Zavisno da li je odgovarajucua celija kolone C (cl) neprazna
' formira se redni broj u koloni A
' pocevsi od nekog zadatog broja
' P.Jovanovic za elitesecurity.org
'
Dim sh As Worksheet
Dim rwEnd As Long ' Poslednji red za koji se formira redni broj
Dim rw As Long ' Brojac redova
Dim RedBr As Long ' Redni broj
Const rwStart As Integer = 8 ' Uslov da se pocinje od 8 reda
Const cl As Integer = 3 ' Kolona C se koristi za uslov
'Unos pocetnog rednog broja
RedBr = Application.InputBox(Prompt:="Unesi pocetni redni broj", Title:="Poèetni broj", Default:=1, Type:=1)
Set sh = ActiveSheet ' List na kojem se radi
rwEnd = sh.Cells(65535, cl).End(xlUp).Row ' Poslednji popunjen red
For rw = rwStart To rwEnd
If Len(Trim(sh.Cells(rw, cl).Text)) > 0 Then ' Da li je æelija popunjena
sh.Cells(rw, 1).Value = RedBr ' Upis rednog broja u kolonu A
RedBr = RedBr + 1 ' Sledeci redni broj
Else
sh.Cells(rw, 1).Value = "" ' Prazna ćelija
End If
Next rw
End Sub
Potpis
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Da,ovo funkcionise,ali ako izbrisem vrednsosti u koloni c,ostaju mi oni redni brojevi,trebalo bi da se izbrisu,pa da krene ponovo num,erisanje,posto ovo planiram da stavim u selection changed,ne treba mi inputbox,njega cu rucno upisati,da se ne bi pojavljivalo uvek...
Kad ponovo startuješ brojevi se ponovo generišu. To znači da ako staviš kod u selection change trebalo bi da bude dobro. Izmeneni postojeću rutinu da uzima redni broj kao parametra umesto Inputboxa - to je dosta jednostavno pa ti ostavljam da sam probaš
Takođe ti ostaje mogućnost sa formulama ako ti više odgovara.
Takođe ti ostaje mogućnost sa formulama ako ti više odgovara.
Potpis
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Problem je sto ne generise ponovo brojeve,ja sam to uradio drugacije,i dosta teze,uradio sam dve procedure,prva count recorda u c koloni pa minus pocetni broj,i plus 1,a posto sam stavio u changed cells ,bilo koji,napravio i drugu proceduru koja brise duplikat rednog broja....
Probao sam primer koji je postavljen i svaki put kad se startuje makro ponovo se generišu brojevi. U prilogu je primer gde je makro ubačen u Selection Change a početni broj se uzima iz ćelije A8.
Nisi postavio svoj primer pa je možda problem vezan sa tim.
Nisi postavio svoj primer pa je možda problem vezan sa tim.
Potpis
Nije to loše Rembrante, samo što ne bi dodao još malo boje?