lumia2401 uto 10.9.2019 23:03

Imam google excell tablicu jer mi je lakse dijeliti sa ostalim ljudima

 

Imam listu od 11 stupaca i 443 redova

Da li je moguće da prva 3 reda (1, 2, 3) se stave na freeze i da ostali ljudi kad pregledavaju tabelicu (nemaju ovlasti za uredivanjem) mogu sortirati zeljeni stupac po abecedi bez da redovi 1, 2, 3 budu isto sortirani?

 

Ja to napravim i meni radi. Ali kad gledam tabelicu preko anonimnog nacina bez ovlasti uredivanja ne radi kako treba

ByteLord uto 15.10.2019 22:49

Pozdrav,

 

imam jedn pitanje. Napravio sam si tablicu za pračenje osobne potrošnje i sada imam jedan problem koji neznam riješiti. Htio bih pratiti što sam platio gotovinom, što karticom. Mislio sam na način da svaki od ta dva kriterija savim jednu boju i onda iznos koji upišem da ga obojam u tu boju. Zanima me koju da formulu postavim da mi zbraja iznos svake pojedine boje?

mbaksa sri 16.10.2019 04:16
ByteLord kaže...

Napravio sam si tablicu za pračenje osobne potrošnje i sada imam jedan problem koji neznam riješiti. Htio bih pratiti što sam platio gotovinom, što karticom. Mislio sam na način da svaki od ta dva kriterija savim jednu boju i onda iznos koji upišem da ga obojam u tu boju. Zanima me koju da formulu postavim da mi zbraja iznos svake pojedine boje?

Kompliciraš si život. Jednostavno imaj dva stupca za uplatu - prvi stupac za gotovinu, drugi za karticu.

Ezio uto 29.10.2019 19:54

Iz nekog razloga su u excel tablicu upisivani iznosi sa tockama na mjestu tisucica umjesto da je to rijeseno namjestanjem formata. Problem je u tome sto na nekim kompovima u firmi to funkcionira, tj. uredno su sadrzaji tih celija prikazani kao numericke vrijednosti a na drugim kompovima ih ne prepoznaje kao brojeve.

Navodno nije stvar u regional settings u windowsima ni u formatiranju tih celija u excelu. Postoji li jos neka opcija koju se moze namjestiti da to funkcionira?

MrRango ned 3.11.2019 22:41

Pozdarv svima,

 

trebao bih malu pomoć (ako se može nazvati malom), al' ne bitno, da pojasnim šta je u pitanju.

Da li bi mogao kreirati neku vrstu tabele/formule koja bi funkcionisala na sljedeći način: U samom vrhu spreadsheet-a u jedno polje unosim sljedeće podatke: datum, iznos i npr. odabir jedne od kategorija koje bi kreirao, a da excel nakon toga automatski sve te podatke sortira u jednu tabelu po redoslijedu kreiranja, koju bi mogao sortirati prema datumu, iznosu i kategoriji.

Nisam baš toliko napredovao u excelu da bi samostalno uspio nešto ovako izvesti, pa bih bio mnogo zahvalan ako je neko radio nešto slično ranije da me malo uputi, ili ako je naletio gdje na netu neki tutorial ili nešto slično da podijeli sa nama.

 

U svakom slučaju, hvala unaprijed.

IvanC sub 9.11.2019 09:00
MrRango kaže...
u jedno polje unosim sljedeće podatke: datum, iznos i npr. odabir jedne od kategorija koje bi kreirao,

Sumnjam da bi ovo sve upisivao u jednu ćeliju. Vjerujem da si mislio na tri podatka i tri ćelije (što je pandam 3 uvjeta).

Teško da će ti netko moći pomoći. Probaj napraviti kompletnu tablicu sa željenim rezultatima da bi netko mogao da te usmjeri ka rješenju. Najbolje bi bilo kada bi mogao postaviti tvoj primjer Workbook sa očekivanim rezultatima negdje za download (npr. Dropbox).

MrRango sub 9.11.2019 22:21

Malo sam se možda i pogrešno izrazio, ali u biti kao što si rekao ne bi bilo bukvalno jedno polje, nego ajmo reći onoliko koliko bi želio unijeti u tabelu kolona (kao što sam naveo ranije, npr. datum, iznos i opis stavke - ali bi volio da u tom trećem polju gdje unosim opis, napravim padajući meni iz kojeg biram prethodno zadane nazive/opise, da se ne unosi svaki puta ručno).

 

Postaviti ću link sa tabelom kako sam zamislio da funkcioniše - samo dok je malo uredim i stavim opise kako bi pojedine formule funkcionisale, prilično poznajem rad u Excelu za jednog prosječnog korisnika, ali ovo je već izvan mog dometa, pa mi bi trebala mala pomoć.

IvanC sri 13.11.2019 19:24
MrRango kaže...

 ne ciljam da neko uradi to za mene.

 Imam malo vremena pa rekoh 'zašto ne' :)

 

Da ne bi puno tražio evo VBA primjer.
Numeriranje je izvedeno preko formule.

Kopiraj ovu VBA makronaredbu u standardni VBA modul

---------
Sub KopirajUBazu()
Dim rw As Long
Dim cl As Integer
Dim Dest As Range
cl = 2
rw = ActiveWorkbook.Sheets("Sheet1").Cells(65535, cl).End(xlUp).Row + 1

Set Dest = ActiveWorkbook.Sheets("Sheet1").Cells(rw, cl)
Dest.Value = ActiveWorkbook.Sheets("Sheet1").Range("B3")
Set Dest = ActiveWorkbook.Sheets("Sheet1").Cells(rw, cl + 1)
Dest.Value = ActiveWorkbook.Sheets("Sheet1").Range("B5")
Set Dest = ActiveWorkbook.Sheets("Sheet1").Cells(rw, cl + 2)
Dest.Value = ActiveWorkbook.Sheets("Sheet1").Range("B7")
End Sub
----------

Sortiranje vršiš ručno reko gumbića u naslovnom redu
btw: Ja bi tu bazu stvarao na drugom radnom listu.

 

 

MrRango sri 13.11.2019 19:59

Hvala puno na odgovoru, upravo ovo mi je trebalo, usmjerenje u potrebnom pravcu da dalje istrazujem. Kao sto sam i ranije napisao, nisam u ovoj mjeri stručan sa Excelom, ali mislim da se mogu snaći i eventualno prilagoditi još svojim potrebama ovaj koncept.

To sam i u planu, na drugi list "poslati" ulazne informacije, ali radi jednostavnijeg objašnjenja šta mi treba, sve sam na jednom mjestu uradio.

 

Još jednom hvala na konkretnom i ozbiljnom odgovoru.

MrRango sri 18.12.2019 21:40
IvanC kaže...
MrRango kaže...

 ne ciljam da neko uradi to za mene.

 Imam malo vremena pa rekoh 'zašto ne' :)

 

Da ne bi puno tražio evo VBA primjer.
Numeriranje je izvedeno preko formule.

Kopiraj ovu VBA makronaredbu u standardni VBA modul

---------
Sub KopirajUBazu()
Dim rw As Long
Dim cl As Integer
Dim Dest As Range
cl = 2
rw = ActiveWorkbook.Sheets("Sheet1").Cells(65535, cl).End(xlUp).Row + 1

Set Dest = ActiveWorkbook.Sheets("Sheet1").Cells(rw, cl)
Dest.Value = ActiveWorkbook.Sheets("Sheet1").Range("B3")
Set Dest = ActiveWorkbook.Sheets("Sheet1").Cells(rw, cl + 1)
Dest.Value = ActiveWorkbook.Sheets("Sheet1").Range("B5")
Set Dest = ActiveWorkbook.Sheets("Sheet1").Cells(rw, cl + 2)
Dest.Value = ActiveWorkbook.Sheets("Sheet1").Range("B7")
End Sub
----------

Sortiranje vršiš ručno reko gumbića u naslovnom redu
btw: Ja bi tu bazu stvarao na drugom radnom listu.

 

 

 Od zadnjeg posta na ovoj temi radim na nekom mini projektu za internu upotrebu.

Trenutno sam naišao na jedan problem, a u pitanju je sljedeća stvar. Na prvom listu mi se nalazi forma za unos podataka kako sam to odma na početku opisao kada sam tražio pomoć, dalje se ti unešeni podaci klikom na Save sortiraju u tabelu na drugom listu. Eh sad, prvobitno sam tu tabelu ručno formatirao (zaglavlje, borders, neizmjenično bojenje redova za ljepši pregled podataka i sl.) za prvih 100 redova. Na trećem listu sam kreirao pivot tabelu za tih prvih 100 redova i kolona za koje imam podatke (datum, opis, iznos itd), s time da podatke sumiram samo prema kolonama opis i iznos). ALI, na ovaj način napravljena pivot tabela u sebi prikazuje i polja blank, odnosno za sva ona prazna polja u redovima do 100. Pivot tabela je podešena da se automatski ažurira sa dodavanjem novih podataka u bazi na drugom listu. Ako u flitriranju podesim da se ne prikazuje red blank, tada - ako se pojavi novi podatak sa novim opisom, neće biti prikazan u tabeli.

 

Odlučim se da prvo napravim pivot tabelu za samo prva dva reda (zaglavlje i prvi prazni red) koja će se dalje sama proširivati kako podaci budu dodavani u bazi podataka, i to funkcioniše odlično, ALI SA JEDNIM PROBLEMOM.

Naime ako u taj prvi prazni red ručno unesem jedan totalno nevažan podatak, forma za unos podataka sa prvog lista će normalno pri unosu prvog podatka preko te forme sortirati u drugi red u bazi podataka (ako ne računamo zaglavlje), ali ako bazu potpuno očistim od svih podataka, dakle npr. hoću poslati osobi koja će tu unositi neke svoje podatke, pri prvom unosu podatka kroz tu formu sa prvog lista, taj podatak će biti opet biti ubačen u drugi red baze podataka, iako je prvi red potpuno prazan, sljedeći će biti ubačen u treći red što je i ok, dakle samo taj prvi podatak iz nekog razloga preskoči prvi red. Ovo je linija koda koju koristim za određivanje prvog praznog reda u bazi podataka i za snimanje unešenih podatak u formu, kako bi se sortirali podaci:

 

Sub Save()

Dim frm As Worksheet
Dim database As Worksheet

Dim iRow As Long
Dim iSerial As Long

Set frm = ThisWorkbook.Sheets("Form")

Set database = ThisWorkbook.Sheets("Database")

If Trim(frm.Range("H1").Value) = "" Then

iRow = database.Range("A" & Application.Rows.Count).End(xlUp).Row + 1

If iRow = 2 Then

iSerial = 1

Else

iSerial = database.Cells(iRow - 1, 1).Value + 1

End If

Else
iRow = frm.Range("G1").Value
iSerial = frm.Range("H1").Value

End If

With database

.Cells(iRow, 1).Value = iSerial
.Cells(iRow, 2).Value = frm.Range("D5").Value
.Cells(iRow, 3).Value = frm.Range("D7").Value
.Cells(iRow, 4).Value = frm.Range("D9").Value
.Cells(iRow, 5).Value = frm.Range("D12").Value

End With

frm.Range("G1").Value = ""
frm.Range("H1").Value = ""

 

End Sub

 

Ovu kod sam uzeo iz sljedeceg tutorijala koji sam pronasao i koji sam pratio za izradu svoje forme.

https://www.youtube.com/watch?v=I-Ze6bX7ous&list=PLx4qmDsQCRjapem1hMMNWA6s1IhGav0WC&index=4&t=0s

 

Svaki savjet i preporuka je dobrodosao, ukoliko imate neku bolju liniju koda sa kojom bi mogao odrediti prvi prazan red u bazi podataka, bio bih mnogo zahvalan.

Hvala unaprijed.

MrRango čet 19.12.2019 23:28

Na neki način sam riješio problem, i to na sljedeći način.

Bazu podataka sam ručno uredio (linije u tabeli, bojenje i slično za ljepši izgled) - važno napomenuti da je nisam kreirao kao "tabelu", odnosno Inser>Table

Dalje, na trećem listu gdje sumiram podatke iz baze, sam kreirao pivot tabelu, ali sa svim redovima, odnosno za nekih 200 redova za koliko pretpostavljam da neće biti više potrebno. Prilikom unosa podatak u bazu podatak kroz formu sa prvog lista, sve se normalno sortira od prvo slobodnog reda, ali u pivot tabeli se i dalje pojavljuje blank red. Njega sam riješio na sljedeći način: klikom na ikonu filtriranja u pivot tabeli>Value filter>Greater than - budući da su mi bitne samo kolone opis iznos, ovdje sam samo postio filter da se prikazuju iznosi koji su veći od nule.

 

ByteLord pet 3.1.2020 08:39

Pozdrav svima,

 

imam tablicu gdje si vodim financije i sada me zanima koju formulu bi trebao napisati da mi zbraja sav iznos koji se napravi npr. u četvrtak.

 

Znaći, da mi red struja zbraja sav iznos koji je napravljen u "četvrtak" i tako za svaki dan pojedinačno.

 

Lp,

mario.L_hr sub 4.1.2020 19:33

Automatiziram evidenciju radnog vremena po mjesecima i sve sam posložio osim praznika. Problem s praznici a je u tome što su neki pomični. Da li postoji nekakva varijanta da Excel raspoznaje hrvatske praznike ili moram sve ručno odraditi?

 

EDIT: Odradio sam to na poluautomatski način. Prvi sheet je sheet s blagdanima (vidi sliku). Ostali sheet-ovi su mjeseci. U sheet sjecanj unosim samo godinu i podatke o zaposleniku koji se prenose dalje u sve ostale sheetove. Nakon toga se automatski generiraju dani i to na slijedeći način:

 

DATUM: =DATE($N$11;1;1) - za ostale dane je jednostavna formula =B12+1 (B12 je prethodni stupac)

 

DAN: =TEXT(WEEKDAY(DATE($N$11;1;1);1);"[$-041A]ddd.")

 

Početak rada: =IF(B13="sub.";"-";IF(B13="ned.";"-";IF(SUM(B16:B27)>0;"-";TIME(8;0;0))))

Završetak rada: =IF(B13="sub.";"-";IF(B13="ned.";"-";IF(SUM(B16:B27)>0;"-";TIME(16;0;0))))

 

U redove 16, 17, 18 i 19 sam upisao crtice jer nisu primjenjivi za mene.

 

Red 20: =IFERROR(TIMEVALUE(IF(OR(B13="sub.";B13="ned.");"-";(IF(OR(B12='Neradni dani'!$B$4;B12='Neradni dani'!$B$5;B12='Neradni dani'!$B$6;B12='Neradni dani'!$B$7;B12='Neradni dani'!$B$8;B12='Neradni dani'!$B$9;B12='Neradni dani'!$B$10;B12='Neradni dani'!$B$11;B12='Neradni dani'!$B$12;B12='Neradni dani'!$B$13;B12='Neradni dani'!$B$14;B12='Neradni dani'!$B$15;B12='Neradni dani'!$B$16;B12='Neradni dani'!$B$17);"08:00";"-"))));"-")

 

U redove od 21 do 27 sam unio crtice.

 

Formule za početak i završetak rada su bile kompliciranije u početku ali sam ih pojednostavio kada sam shvatio da u redovima ispod ide ili 8 sati ili 0 sati (kod mene je to "-").

Uz formule koje sam napisao tu je i omanja hrpetina uvjetnog formatiranja (služi za sjenčanje ćelija od red 14 do reda 27).

 

Uglavnom što tabela radi. Na prvu stranu se unesu neradni dani za godinu za koju se koristi tabela. U siječnju se unese pripadajuća godina za koju se koristi tabela. Automatski se ažuriraju dani tjedna, zasjenčaju se subote i nedjelje a u ćelije koje su pod formulama dodaju se crtice, za neradni dan se u redu 20 upisuje vrijeme 8:00 cijeli stupac se zasjenča a podaci se mijenjaju u crvenu boju. Ako je netko bio na bolovanju ili na godišnjem odmoru u odgovarajuće rubrike se unosi 8:00 a sve ostalo se automatski odradi. Promjenom godine sve se ponovno automatski podešava. Možda nekom drugom bude od koristi za vlastitu tabelu.

 

 

blankyboy čet 16.1.2020 19:39

Ovako definirao sam si u excelu kalendar za tekuci mjesec (pracenje isporuka). Formulom sam si definirao proizvodnju iliti koliko mi dana treba po pojedinoj isporuci...

za tri isporuke dobijem rezultate, recimo 3, 4, 5 dana . 

 

 

kako bi mogao u tom kalendaru narihtati da mi automatski (pretpostavljam kondiciono formatiranje preko forumule?) obiljezi dane koje sam dobio? Zamislio sam da definiram datum od kojeg pocne i markira mi zeleno ta prva tri dana , nakon toga zuto sljedeca 4 dana itd. bez vikenda.

blankyboy sri 22.1.2020 20:47

Hvala na linku, detaljno cu prouciti, 

uspio sam si vec sam napraviti kalendar pomocu 

=start-CHOOSE(WEEKDAY(start);0;1;2;3;4;5;6) + =IF(B6<>"";B6;$H5)+1  kombinacije .

 

sad pomocu =AND(C6>$C$8;+C6<=($C$8+$L$19)) pokusavam srediti da mi automatski obiljezava dane u tjednu po rezultatu formule ( iz koje dobijem broj radnih dana koji mi je potreban da nesto napravim). 

Problem je sto mi obiljezava i vikende ( subotu i nedjelju), mogu smanjiti podrucje formule u formatiranju, ali onda mi ne obiljezi 7 radnih dana vec samo 5 ( koristi i dalje vikend, samo ga ne obiljezi). 

nemam pojma sto radim krivo, 

MrRango uto 28.1.2020 19:58
IvanC kaže...
blankyboy kaže...

kako bi mogao u tom kalendaru narihtati da mi automatski (pretpostavljam kondiciono formatiranje preko forumule?) obiljezi dane koje sam dobio?

Teško je ovako na tekst dati precizan odgovor.

Odgovor bi mogao biti kao i u mom prethonom postu.

Dakle datume koji su uvjet postavi na neki drugi sheet ili u neki raspon na istom sheetu. Slično rješenje imaš na ovom linku.

 

Kalendar sa praznicima i blagdanima za 2020 godinu.

 

EDIT: Da ne komplikujem puno, kako najlakše mogu zaštiti formu za unos podataka od uređivanja, i mijenjanja VBA koda. Za izradu forme sam pratio sljedeći tutorijal: LINK i imam sljedeći izgled te forme (u prilogu), i sljedeći VBA kod (u nastavku). Dakle, kako najbolje mogu zaključati sheet gdje se nalazi forma za unos, kako drugi korisnik ne bi mogao ništa uređivati i mijenjati, koji može samo unositi podatke u predviđena polja, kako ne bi došlo do mijenjanja forme te za posljedicu da ne radi onako kako je zamišljeno, ništa više.

U pitanju je mini excel projekat za internu upotrebu, gdje vjerovatno neće doći do uređivanja forme, ali za svaki slučaj da ne dođe do bespotrebnog uređivanja i pravljenja problema.

Polja datum kategorija sam uradio preko data validation opcije, koja uzima podatke o datumima i kategorijama iz tabela sa novog sheet-a

U nastavku VBA kod koji sam smjestio u Modul 1, a nakon njega kod koji se nalazi na sheet-u gdje se nalazi forma za "dugmiće" u formi.

 

Modul 1:

Option Explicit

Function Validate() As Boolean

Dim frm As Worksheet

Set frm = ThisWorkbook.Sheets("Form")

Validate = True

With frm

.Range("D5").Interior.Color = xlNone
.Range("D7").Interior.Color = xlNone
.Range("D9").Interior.Color = xlNone
.Range("D12").Interior.Color = xlNone

End With

'Validating Datum

If Trim(frm.Range("D5").Value) <> "1. jan 2020." And Trim(frm.Range("D5").Value) <> "2. jan 2020." And _
Trim(frm.Range("D5").Value) <> "3. jan 2020." And Trim(frm.Range("D5").Value) <> "4. jan 2020." And _
Trim(frm.Range("D5").Value) <> "5. jan 2020." And Trim(frm.Range("D5").Value) <> "6. jan 2020." And _
Trim(frm.Range("D5").Value) <> "7. jan 2020." And Trim(frm.Range("D5").Value) <> "8. jan 2020." And _
Trim(frm.Range("D5").Value) <> "9. jan 2020." And Trim(frm.Range("D5").Value) <> "10. jan 2020." And _
Trim(frm.Range("D5").Value) <> "11. jan 2020." And Trim(frm.Range("D5").Value) <> "12. jan 2020." And _
Trim(frm.Range("D5").Value) <> "13. jan 2020." And Trim(frm.Range("D5").Value) <> "14. jan 2020." And _
Trim(frm.Range("D5").Value) <> "15. jan 2020." And Trim(frm.Range("D5").Value) <> "16. jan 2020." And _
Trim(frm.Range("D5").Value) <> "17. jan 2020." And Trim(frm.Range("D5").Value) <> "18. jan 2020." And _
Trim(frm.Range("D5").Value) <> "19. jan 2020." And Trim(frm.Range("D5").Value) <> "20. jan 2020." And _
Trim(frm.Range("D5").Value) <> "21. jan 2020." And Trim(frm.Range("D5").Value) <> "22. jan 2020." And _
Trim(frm.Range("D5").Value) <> "23. jan 2020." And Trim(frm.Range("D5").Value) <> "24. jan 2020." And _
Trim(frm.Range("D5").Value) <> "25. jan 2020." And Trim(frm.Range("D5").Value) <> "26. jan 2020." And _
Trim(frm.Range("D5").Value) <> "27. jan 2020." And Trim(frm.Range("D5").Value) <> "28. jan 2020." And _
Trim(frm.Range("D5").Value) <> "29. jan 2020." And Trim(frm.Range("D5").Value) <> "30. jan 2020." And _
Trim(frm.Range("D5").Value) <> "31. jan 2020." Then
MsgBox "Potrebno je unijeti datum", vbOKOnly + vbInformation, "Datum"
frm.Range("D5").Select
frm.Range("D5").Interior.Color = vbRed
Validate = False
Exit Function
End If


'Validating Kategorija

If Trim(frm.Range("D7").Value) = "" Then
MsgBox "Potrebno je odabrati kategoriju", vbOKOnly + vbInformation, "Kategorija"
frm.Range("D7").Select
frm.Range("D7").Interior.Color = vbRed
Validate = False
Exit Function
End If

'Validating Iznos

If Trim(frm.Range("D12").Value) = "" Or Not IsNumeric(Trim(frm.Range("D12").Value)) Then
MsgBox "Potrebno je unijeti iznos", vbOKOnly + vbInformation, "Iznos"
frm.Range("D12").Select
frm.Range("D12").Interior.Color = vbRed
Validate = False
Exit Function
End If

End Function


Sub Reset()

With Sheets("Form")

.Range("D5").Interior.Color = xlNone
.Range("D5").Value = ""

.Range("D7").Interior.Color = xlNone
.Range("D7").Value = ""

.Range("D9").Interior.Color = xlNone
.Range("D9").Value = ""

.Range("D12").Interior.Color = xlNone
.Range("D12").Value = ""

.Range("G1").Interior.Color = xlNone
.Range("G1").Value = ""

.Range("H1").Interior.Color = xlNone
.Range("H1").Value = ""

End With

End Sub


Sub Save()

Dim frm As Worksheet
Dim database As Worksheet

Dim iRow As Long
Dim iSerial As Long

Set frm = ThisWorkbook.Sheets("Form")

Set database = ThisWorkbook.Sheets("Database")

If Trim(frm.Range("H1").Value) = "" Then

iRow = database.Range("A" & Application.Rows.Count).End(xlUp).Row + 1

If iRow = 2 Then

iSerial = 1

Else

iSerial = database.Cells(iRow - 1, 1).Value + 1

End If

Else
iRow = frm.Range("G1").Value
iSerial = frm.Range("H1").Value

End If

With database

.Cells(iRow, 1).Value = iSerial
.Cells(iRow, 2).Value = frm.Range("D5").Value
.Cells(iRow, 3).Value = frm.Range("D7").Value
.Cells(iRow, 4).Value = frm.Range("D9").Value
.Cells(iRow, 5).Value = frm.Range("D12").Value

End With

frm.Range("G1").Value = ""
frm.Range("H1").Value = ""

End Sub


Sub Modify()

Dim iRow As Long
Dim iSerial As Long


iSerial = Application.InputBox("Molim unesite redni broj za izmjenu.", "Modify", , , , , 1)

On Error Resume Next

iRow = Application.WorksheetFunction.IfError _
(Application.WorksheetFunction.Match(iSerial, Sheets("Database").Range("A:A"), 0), 0)

On Error GoTo 0

If iRow = 0 Then

MsgBox "Nema unešenih podataka pod navedenim rednim brojem", vbOKOnly + vbCritical, "Nema podataka"
Exit Sub

End If


Sheets("Form").Range("G1").Value = iRow
Sheets("Form").Range("H1").Value = iSerial


Sheets("Form").Range("D5").Value = Sheets("Database").Cells(iRow, 2).Value

Sheets("Form").Range("D7").Value = Sheets("Database").Cells(iRow, 3).Value

Sheets("Form").Range("D9").Value = Sheets("Database").Cells(iRow, 4).Value

Sheets("Form").Range("D12").Value = Sheets("Database").Cells(iRow, 5).Value

End Sub


Sub DeleteRecord()

Dim iRow As Long
Dim iSerial As Long


iSerial = Application.InputBox("Molim unesite redni broj za obrisati", "Delete", , , , , 1)

On Error Resume Next

iRow = Application.WorksheetFunction.IfError _
(Application.WorksheetFunction.Match(iSerial, Sheets("Database").Range("A:A"), 0), 0)

On Error GoTo 0

If iRow = 0 Then

MsgBox "Nemaunešenih podataka za navedeni serijski broj", vbOKOnly + vbCritical, "Nema podataka"
Exit Sub

End If

Sheets("Database").Cells(iRow, 1).EntireRow.Delete Shift:=xlUp

End Sub

______________________________________________________

 

VBA kod od "dugmića"

Private Sub cmdReset_Click()

Dim msgValue As VbMsgBoxResult

msgValue = MsgBox("Da li želite resetovati polja, za unos novih podataka?", vbYesNo + vbQuestion, "Reset")

If msgValue = vbYes Then

Call Reset

End If

End Sub

Private Sub cmdSave_Click()

If Validate = True Then

Dim msgValue As VbMsgBoxResult

msgValue = MsgBox("Da li želite snimiti podatke?", vbYesNo + vbQuestion, "Save")

If msgValue = vbYes Then

Call Save
Call Reset

End If

End If
End Sub

Private Sub cmdModify_Click()

Dim msgValue As VbMsgBoxResult

msgValue = MsgBox("Da li želite izmijeniti jedan od unešenih podataka", vbYesNo + vbQuestion, "Izmjena")

If msgValue = vbYes Then

Call Modify

End If

End Sub

Private Sub cmdDelete_Click()

Dim msgValue As VbMsgBoxResult

msgValue = MsgBox("Da li želite obrisati jedan od unešenih podataka", vbYesNo + vbQuestion, "Brisanje")

If msgValue = vbYes Then

Call DeleteRecord

End If

End Sub

___________________________________________________

 

 

 

Hvala unaprijed, lp

IvanC sri 29.1.2020 21:50
MrRango kaže...
 kako najlakše mogu zaštiti formu za unos podataka od uređivanja, i mijenjanja VBA koda. ............. Dakle, kako najbolje mogu zaključati sheet gdje se nalazi forma za unos, kako drugi korisnik ne bi mogao ništa uređivati i mijenjati,

Pristup i pogled na VBA kod možeš zabraniti upisom password u VBE prozoru (klikom na Tools -> VBAProjectProperties).

Isto tako pogledaj neke primjere na ovom  linku Skrivanje Toolbar u Excelu.

Zaštitu radne knjige (Workbook) možeš napraviti prema tutorijalu na dotičnom linku. 

Zaštitu određenih ćelija i Sheets u Excelu možeš napraviti prema tutorijalu na dotičnom linku.

Također pogledaj Protect controls and linked cells on a worksheet.

Ima puno načina zaštite, sve je stvar prakse i iskustva. Budi oprezan sa VBA kodom kod skrivanja toolbars.

Keops pon 10.2.2020 17:33

Treba mi ideja kako da postavim random modeliranje potrošnje vode jedne kuće. Fora je u tome da je većinu vremena potrošnja 0 pa je samim time i prosječna potrošnja jako niska. Kad god se upali slavina, ta potrošnja je znatno veća od prosječne. Radim dnevnu potrošnju na minutnoj razini (60*24 = 1440 redova). Ideja je da napravim određene constrainte u softveru koji će to randomizirati, kao u solverima za linearno programiranje. Ti constrainti mi trebaju da dobijem realne rezultate, da mi ne ispadne da je veća potrošnja noću nego danju i sl.

Ne znam mogu li to raditi u Excelu pa me uputite u pravom smjeru ako sam fulao temu.

BMT čet 13.2.2020 13:04

U Excelu 365 mi se događa da mi se prilikom unosa vrijednosti u ćeliju (isključivo ručnog), umjesto odabranog fonta, tijekom unosa, pojavljuje defaultni font. Nakon što završim unosim i stisnem enter ili se pomaknem iz ćelije, oblikovanje je OK. Dakle, problem je isključivo tijekom unosa. To mi se ne događa u Excelu 2016 u istim datotekama niti mi se ikad prije igdje događalo. (Excel 2016 koristim u firmi, a Excel 365 kod kuće; oba licencirano i legalno).

 

Što da napravim, da se to više ne događa, tj. i da tijekom unosa imam oblikovanje koje sam promijenio i primijenio na cijelu tablicu?

BMT sub 15.2.2020 11:12
IvanC kaže...
BMT kaže...

tijekom unosa, pojavljuje defaultni font.

Da li je to običan raspon ćelija ili stvarna tablica 'Table1' u koji unosiš podatak.
Probaj običan raspon ćelija konvertirati u stvarnu tablicu "Table1" i tada vidi da li se događa isti problem.

To se događa u svim ćelijama radnog lista (OK, nisam išao provjeravati neku nasumičnu ćeliju u 50000. retku i 50. stupcu, ali vjerujem da bi isto vrijedilo i tamo) i u svim radnim listovima dokumenta bez obzira jesu li ili nisu dijelovi nekakve posebno formatirane tablice.

 

Dakle predloženo je testirano.

 

Ono što je interesantno je da mi se ovo događa u nekim dokumentima, a u nekima ne. Isto tako, ako sad napravim novi dokument u Excelu 365, sve će biti OK. Ako iz postojećeg dokumenta u kojem se nalazi problem kopiram sve listove u novi dokument, problem će se opet pojaviti kao i u izvornom dokumentu. Ako probam sačuvati datoteku sa "Save as..." problem će ostati.

 

Problem se pojavljuje ako i samo ako ručno mijenjam sadržaj ćelije. Ako kopiram sadržaj i lijepim bez oblikovanja sve je OK.

BMT pon 17.2.2020 20:52
IvanC kaže...
BMT kaže...
 Ako iz postojećeg dokumenta u kojem se nalazi problem kopiram sve listove u novi dokument, problem će se opet pojaviti kao i u izvornom dokumentu.

 Moj zaključak je da je u tim problematičnim dokumentima postavljeno neko oblikovanje ćelija koje prenosiš kopiranjem. Probaj očisiti sva oblikovanja ćelija u WBK.

 Nažalost, ni to ne pomaže.

Keops čet 5.11.2020 13:21

Ima li netko ideju kako bi napravio ovo u Excelu? Slika je priložena. Ako ne excel, možda neki drugi softver. Dakle, trebao bi postaviti u grafu "ticks" tako da su mi u intervalu od 1 do 50 detaljniji (tipa interval od 10), a od 50 pa nadalje svakih 50 ili 100.