pozdravljeni.
potreboval bi pomoč pri izračunu vmesnih vsot. mislim, da je na sliki dovolj jasno za kaj se gre: 1 cona ima trgovine 1, 2 in 3, katera ima vsaka svoje izdelke, podobno je za cono 2 in tako naprej... Vsaka cona ima lahko tudi različno število trgovin, ki lahko imajo različno število izdelkov. v stolpcu D je število kosov izdelka, v stolpcu E cena za enoto izdelka, v stolpcu F pa skupna cena za izdelek (=D*E). Želel bi izračunati vsoto za posamezne cone in jo zapisati v stolpcu F zraven imena. Mislim, da je smiselno da bi to vsoto zapisal kot SUM(območje vse do naslednje cone) in ne kot vsoto posameznih elementov, saj bi mi to omogočalo "osveževanje" vsote, če bi dodajal/brisal samo določene trgovine ali izdelke znotraj cone.
Če bo kakšna ideja, bi mi zelo koristilo.
hvala
lep dan
http://picasaweb.google.com/lh/photo/sM ... directlink
delne vstote
Re: delne vstote
Tako kot imate izdelano tabelo vam Excel (sam!) ne more nič pomagati. Ali ročno vpisujete SUM(xxx) formule v prazne vrstice ali pa vam to naredi makro, tretje opcije ni.
Zna pa Excel natanko to kar želite vi, torej delne vsote, izdelovati sam (in to točno tako, kot želite vi), vendar pa morajo biti podatki v ENI tabeli, torej med njimi ne sme biti praznih vrstic! Takšne podatke sortirate po željenih ključih in zaukažete Excelu naj ob spremembi podatka zapiše delno vsoto. V vašem primeru naj ob spremembi trgovine zapiše delno vsoto in naj ob spremembi cone zapiše delno vsoto.
Zna pa Excel natanko to kar želite vi, torej delne vsote, izdelovati sam (in to točno tako, kot želite vi), vendar pa morajo biti podatki v ENI tabeli, torej med njimi ne sme biti praznih vrstic! Takšne podatke sortirate po željenih ključih in zaukažete Excelu naj ob spremembi podatka zapiše delno vsoto. V vašem primeru naj ob spremembi trgovine zapiše delno vsoto in naj ob spremembi cone zapiše delno vsoto.
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: delne vstote
Omenjene funkcije v Excelu ne poznam, bi pa v vsakem primeru želel vse skupaj zapisati v makroju, saj imam že ves preostali del (od urejanja do skupne rekapitulacije) zapisan v makroju. Da bi dobil željeni rezultat sem želel s funkcijo IsNumeric v stolpcu "E" poiskati "prave" celice (1 CONA itd) in potem bi v sosednjem stolpcu pač zapisal pripadajočo vmesno vsoto do naslednje "prave" celice. Če se igram z zankami, brez problema najdem prvo celico, ki ustreza pogoju IsNumeric = False, z naslednjo pa imam težave...
Koda: Izberi vse
vrstica = Range("e65536").End(xlUp).Row
y = 3
Do While (y < vrstica + 1)
c = ActiveSheet.Cells(y, 5).Value
z = IsNumeric(ActiveSheet.Cells(y, 5).Value)
If (z = False) And (c <> Empty) Then
......
Re: delne vstote
In potem morate najtio še naslednjo in naslednjo. Ko jo najdete, si morate zapomniti, kje se je prejšnaj končala in potem med obema zapisati območje, ki vsm bo omogočilo zapisati =SUM(območje)... Torej še kar veliko dela ...sonofagun napisal/-a:...Če se igram z zankami, brez problema najdem prvo celico, ki ustreza pogoju IsNumeric = False, z naslednjo pa imam težave...
Priporočam vam, da si pogledate orodje Delne vsote, saj je namenjeno reševenju natanko tega problema. Najdete pa ga na zavihku Podatki/Delne vsote.
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Re: delne vstote
Mi ni dalo miru (pa tudi nikakor nisem zgruntal tistih Excelovih delnih vsot), pa sem nekaj napisal:
Bi prosil za kakšno mnenje (mogoče tudi poenostavitev).
lep pozdrav
Koda: Izberi vse
Dim podatki(10, 2)
Z = Range("e65536").End(xlUp).Row
'"dodatna vsota"
ActiveSheet.Cells(Z + 2, 5).Value = "Dodatna delna vsota:"
zz = Range("e65536").End(xlUp).Row
i = 1
For y = 3 To zz
c = ActiveSheet.Cells(y, 5).Value
n = IsNumeric(c)
If (n = False) And (c <> Empty) Then
podatki(i, 2) = y
i = i + 1
End If
Next
k = i - 2
For i = 1 To k
g = podatki(i, 2) + 1
h = podatki(i + 1, 2) - 1
ActiveSheet.Cells(g - 1, 6).Value = "=+SUM(F" & g & ":F" & h & ")"
Next
'izbrišem "dodatno vsoto"
Rows(zz).Select
Selection.Delete Shift:=xlUp
lep pozdrav
Re: delne vstote
Če vam makro deluje tako kot mora potem je vse OK Za makro ki se izvede v par sekundah se ne splača obremenjevati in ga piliti...
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator