Posljednjih 15 postova u ovoj temi
Predmet: Re:rasporedi kovanice EXCEL
apravio sam ono sto si trazio.
Samo sam postavio opcionalno da moze mijenjati broj osoba a u kodu mozes mijenati broj kovanica.
apravio sam ono sto si trazio.
Samo sam postavio opcionalno da moze mijenjati broj osoba a u kodu mozes mijenati broj kovanica.
Predmet: Re:rasporedi kovanice EXCEL
hvala, probat cu preraditi za vlastite potrebe.
Zapravo, osoba 1 ce imati samo 7 kovanica u dzepu, a osoba 5 ce imati 34 kovanice.
U slucaju da trebaju preplivati rijeku osoba 5 ce potonuti. hehehe
hvala, probat cu preraditi za vlastite potrebe.
Zapravo, osoba 1 ce imati samo 7 kovanica u dzepu, a osoba 5 ce imati 34 kovanice.
U slucaju da trebaju preplivati rijeku osoba 5 ce potonuti. hehehe
Predmet: Re:rasporedi kovanice EXCEL
PreuzmiIzvorni kôd (Visual Basic):
- Function Raspodjela(Optional BrojOsoba As Integer = 5)
- Dim Kovanice As Object
- Dim Vrijednosti As Object
- Dim UkupnaVrijednost As Currency
- Dim Apoen As Variant
- Dim Podjela As Currency
- Dim I, N As Integer
- Dim KovanicaVrijednost As Currency
- Dim BrojKovanica As Integer
- Dim KovanicaRaspodjela As Integer
- Dim OsobaIndex As Integer
- Dim PodjelaPara() As Integer
- Set Kovanice = CreateObject("Scripting.Dictionary")
- Kovanice.Add "50c", 24 ' 50 centi
- Kovanice.Add "1e", 28 ' 1 euro
- Kovanice.Add "2e", 29 ' 2 eura
- Kovanice.Add "5e", 4 ' 5 eura
- Set Vrijednosti = CreateObject("Scripting.Dictionary")
- Vrijednosti.Add "50c", 0.5
- Vrijednosti.Add "1e", 1
- Vrijednosti.Add "2e", 2
- Vrijednosti.Add "5e", 5
- ReDim PodjelaPara(1 To BrojOsoba, 1 To 4)
- UkupnaVrijednost = 0
- For Each Apoen In Kovanice.Keys
- UkupnaVrijednost = UkupnaVrijednost + (Kovanice(Apoen) * Vrijednosti(Apoen))
- Next Apoen
- Podjela = UkupnaVrijednost / BrojOsoba
- OsobaIndex = 1
- For I = 1 To BrojOsoba
- IznosPreostali = Podjela
- For Each Apoen In Array("5e", "2e", "1e", "50c")
- KovanicaVrijednost = Vrijednosti(Apoen)
- BrojKovanica = Kovanice(Apoen)
- KovanicaRaspodjela = 0
- Do While IznosPreostali >= KovanicaVrijednost And BrojKovanica > 0
- If I = BrojOsoba Then
- KovanicaRaspodjela = BrojKovanica
- BrojKovanica = 0
- IznosPreostali = IznosPreostali - KovanicaVrijednost
- Else
- KovanicaRaspodjela = KovanicaRaspodjela + 1
- IznosPreostali = IznosPreostali - KovanicaVrijednost
- BrojKovanica = BrojKovanica - 1
- End If
- Loop
- PodjelaPara(OsobaIndex, Application.Match(Apoen, Array("50c", "1e", "2e", "5e"), 0)) = _
- PodjelaPara(OsobaIndex, Application.Match(Apoen, Array("50c", "1e", "2e", "5e"), 0)) + KovanicaRaspodjela
- Kovanice(Apoen) = BrojKovanica
- Next Apoen
- OsobaIndex = OsobaIndex + 1
- Next I
- ' Ispis rezultata u Excel
- Dim ImesSita As String
- ImesSita = "Raspodjela kovanica"
- Obrisi (ImesSita)
- Dim ws As Worksheet
- Set ws = ThisWorkbook.Sheets.Add
- ws.Name = ImesSita
- ' Ispis naziva stupaca (kovanice)
- ws.Cells(1, 1).Value = "Osoba"
- ws.Cells(1, 2).Value = "50c"
- ws.Cells(1, 3).Value = "1e"
- ws.Cells(1, 4).Value = "2e"
- ws.Cells(1, 5).Value = "5e"
- ' Ispis raspodjele po osobama
- For I = 1 To BrojOsoba
- ws.Cells(I + 1, 1).Value = "Osoba " & I
- For N = 1 To 4
- ws.Cells(I + 1, N + 1).Value = PodjelaPara(I, N)
- Next N
- Next I
- For I = 1 To BrojOsoba
- Dim suma As Currency
- suma = PodjelaPara(I, 1) * 0.5 + PodjelaPara(I, 2) * 1 + PodjelaPara(I, 3) * 2 + PodjelaPara(I, 4) * 5
- ws.Cells(I + 1, 6).Value = "' " & suma & " " & Chr(128)
- Next I
- Dim BrojApoena As Integer
- For I = 2 To 5
- BrojApoena = 0
- For N = 2 To BrojOsoba + 1
- BrojApoena = BrojApoena + ws.Cells(N, I).Value
- Next N
- ws.Cells(BrojOsoba + 2, I).Value = BrojApoena
- Next I
- MsgBox "Gotovo!", vbInformation
- End Function
- Function Obrisi(Naziv As String)
- Dim ws As Worksheet
- On Error Resume Next
- Set ws = ThisWorkbook.Sheets(Naziv)
- On Error GoTo 0
- If Not ws Is Nothing Then
- Application.DisplayAlerts = False
- ws.Delete
- Application.DisplayAlerts = True
- End If
- End Function
Predmet: Re:rasporedi kovanice EXCEL
znaci FOR-NEXT petlja?
znaci FOR-NEXT petlja?
Predmet: Re:rasporedi kovanice EXCEL
Ukupan iznos je 118 ,kad podelis sa 5 dobijas maksimalni iznos 23.6 tako da svi iznosi ce biti mani od 24 kako si naveo .
Ja bi ti preporucio da napravis petlja od najveca kovanica i okrenes petlja po broj osoba tako da za svaka osoba sabiras iznos dok ne dodzes na do zadna kovanica .
Na primer imas 4 kovanice od po 5 e i prvi cetvoro ce dobiti po edna kovanica a 5 ti ce dobiti dve kovanice od po 2 eur i edna kovanica od 1 eur .
sledeci su kovanice od 2 eur i sad vec nisu 29 nego su 27 jer predhodno smo uzeli 2 da popunimo 5 ticu , i tako dalje do najmanja kovanica.
Ukupan iznos je 118 ,kad podelis sa 5 dobijas maksimalni iznos 23.6 tako da svi iznosi ce biti mani od 24 kako si naveo .
Ja bi ti preporucio da napravis petlja od najveca kovanica i okrenes petlja po broj osoba tako da za svaka osoba sabiras iznos dok ne dodzes na do zadna kovanica .
Na primer imas 4 kovanice od po 5 e i prvi cetvoro ce dobiti po edna kovanica a 5 ti ce dobiti dve kovanice od po 2 eur i edna kovanica od 1 eur .
sledeci su kovanice od 2 eur i sad vec nisu 29 nego su 27 jer predhodno smo uzeli 2 da popunimo 5 ticu , i tako dalje do najmanja kovanica.
Predmet: rasporedi kovanice EXCEL
Trebalo bi podjednako rasporediti kovanice na 5 osoba.
Ukupno broj kovanica je 85, a od toga je 24 kovanice po 50 centi, 28x1euro, 29x2eura, 4x5eura.
Iznos po osobi ne smije biti manji od 24 eura. To se moze rucno, ali problem je ako imamo vishe kovanica ili vishe osoba.
Pitanje:
Moze li se to sa VBA napraviti. Pada mi na pamet nekakva matrica i for - next petlja, ali ako moze neki savjet kako to zapoceti.
Trebalo bi podjednako rasporediti kovanice na 5 osoba.
Ukupno broj kovanica je 85, a od toga je 24 kovanice po 50 centi, 28x1euro, 29x2eura, 4x5eura.
Iznos po osobi ne smije biti manji od 24 eura. To se moze rucno, ali problem je ako imamo vishe kovanica ili vishe osoba.
Pitanje:
Moze li se to sa VBA napraviti. Pada mi na pamet nekakva matrica i for - next petlja, ali ako moze neki savjet kako to zapoceti.
Sva vremena su GMT +01:00. Trenutno vrijeme: 1: 20 pm.
Portal
iCentar
Statistike
Procitajte pravila
Donacije
Racunari i oprema
Softver i op. sistemi
Hardver i mreze
Programiranje i baze
Nauka
Tehnika
Dom i porodica
Biznis
Sport i rekreacija
Zabava
Zanimljivosti
Pretrazi
Tim
Registriraj se
Vazni alati
Prijavi se