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):Function Suma(R)
Dim Celija As Object
Dim Duz(1 To 2) As Integer
Dim FormatCelije As String
Dim a
Dim BrA As Double
Dim StrA As String
Dim S As Double
For Each Celija In R.Cells
a = Celija()
If IsNumeric(a) = False Then
MsgBox "Neispravan unos u celiji:" & Celija.Address
GoTo Kraj
End If
BrA = a
StrA = a
Duz(1) = Len(Format$(BrA))
Duz(2) = Len(StrA)
If Duz(1) <> Duz(2) Then
MsgBox "Nevalja format u celiji:" & Celija.Address
GoTo Kraj
End If
S = S + Celija()
Next Celija
Suma = Application.WorksheetFunction.Sum(R)
'Suma = S
Exit Function
Kraj:
Suma = "Greška"
End Function
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.