Centar za edukaciju-BiH



#1 02.09.2011 17:04
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,644


Predmet:Altenativa za Autosum u exelu
Atosum najcesce koristena procedura.
Dali je dovoljno sigurna?
Ukoliko imate veliki broj celija iz kojih zelite napraviti autosum odnosno zbir (sumu) zna se desiti da neku celiju i ne sabere zbog pogresno unesenog unosa a da vam to i ne javi nekim upozorenjem.
Napravio sam proceduru koja se zove Suma i koja kontrolise unos u svakoj celiji i ako je u nekoj uneseno nesto drugo sem broja izbacuje upizorenje.
Kako koristiti?
Otvoriti Vb u dokumentu.
Otvoriti novi modul na nivou dokumenta i u njega kopirati kod ispod.
Procedura isto radi kao i sum sem sto ima naziv suma.
PreuzmiIzvorni kôd (Visual Basic):
  1. Function Suma(R)
  2. Dim Celija As Object
  3. Dim Duz(1 To 2)  As Integer
  4. Dim FormatCelije As String
  5. Dim a
  6. Dim BrA As Double
  7. Dim StrA As String
  8. Dim S As Double
  9.  
  10.  
  11. For Each Celija In R.Cells
  12. a = Celija()
  13. If IsNumeric(a) = False Then
  14. MsgBox "Neispravan unos u celiji:" & Celija.Address
  15. GoTo Kraj
  16. End If
  17. BrA = a
  18. StrA = a
  19. Duz(1) = Len(Format$(BrA))
  20. Duz(2) = Len(StrA)
  21. If Duz(1) <> Duz(2) Then
  22. MsgBox "Nevalja format u celiji:" & Celija.Address
  23. GoTo Kraj
  24. End If
  25. S = S + Celija()
  26. Next Celija
  27. Suma = Application.WorksheetFunction.Sum(R)
  28. 'Suma = S
  29. Exit Function
  30. Kraj:
  31. Suma = "Greška"
  32. End Function

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

#2 02.09.2011 17:06
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,644


Predmet:Re: Altenativa za Autosum u exelu
Procedura se moze doraditi pa dan naprimjer na osnovu boje neke celiije preskace te celije odnosno ne zbaraja ih u sumu ili pak na osnovu nekih drugih parametara celije zavisno od potrebe.
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

Stranice (1):1


Sva vremena su GMT +01:00. Trenutno vrijeme: 8: 40 pm.