Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: funkcja uzytkownika - sumowanie zakresu komorek
marolek



Typ: neutral
Postów: 17
Zarejestrowany: Apr 2004
funkcja uzytkownika - sumowanie zakresu komorek

Jak powinna wygladac funkcja uzytkownika ktora sumuje dowolny zakres komorek? Wiem jak zrobic to na dowolnych komorkach ale niestety mam problem z sumowaniem zakresow tak jak to jest w juz gotowej funkcji np "=suma(A1: D13)".
Czekam na propozycje :-)


_____________________________________________
Pozdrawiam
marolek

27-07-2004 23:38
Pokaż profil marolek  Wyślij email do marolek        3456782
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003

może tak:

Option Explicit


Function mojaSuma(zakres As Range) As Double
Dim i As Long, w As Long, k As Long
Dim suma As Double

For w = 1 To zakres.Cells.Rows.Count
    For k = 1 To zakres.Columns.Count
        suma = suma + zakres.Cells(w, k)
    Next k
Next w

mojaSuma = suma

End Function


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

29-07-2004 21:18
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
marolek



Typ: neutral
Postów: 17
Zarejestrowany: Apr 2004

właśnie tak :-)
Wielkie dzięki. Działa tak jak sobie to wymarzyłem.


_____________________________________________
Pozdrawiam
marolek

08-08-2004 10:25
Pokaż profil marolek  Wyślij email do marolek        3456782
marolek



Typ: neutral
Postów: 17
Zarejestrowany: Apr 2004

idac dalej...
jak zmodyfikowac te funkcje aby sumowala ona kilka zakresow, np "=mojaSuma(A1: D13;F1:H13)" ??
lecz tak, aby liczba zakresow byla zmienna.


_____________________________________________
Pozdrawiam
marolek

09-08-2004 17:34
Pokaż profil marolek  Wyślij email do marolek        3456782
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003
analogicznie....

Function mojeSumy(ParamArray zakresy() As Variant) As Double
Dim i As Long, j As Long, w As Long, k As Long
Dim suma As Double, zakres As Range, strTmp As String

For j = LBound(zakresy()) To UBound(zakresy())
    Set zakres = zakresy(j)
    For w = 1 To zakres.Cells.Rows.Count
        For k = 1 To zakres.Columns.Count
            suma = suma + zakres.Cells(w, k)
        Next k
    Next w
Next j

mojeSumy = suma

End Function


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

16-08-2004 20:34
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
marolek



Typ: neutral
Postów: 17
Zarejestrowany: Apr 2004

Jeszcze raz wielkie dzieki. Dziala idealnie
Pozdrawiam!!


_____________________________________________
Pozdrawiam
marolek

16-08-2004 20:39
Pokaż profil marolek  Wyślij email do marolek        3456782
Wszystkich odpowiedzi: 5 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1