Seštevanje vrednosti celic iz večih listov

Pomoč pri delu z MS Excelom
Odgovori
AlesZ
Prispevkov: 4
Pridružen: Pe Dec 01, 2006 9:04 pm

Seštevanje vrednosti celic iz večih listov

Odgovor Napisal/-a AlesZ »

Mene zanima če se to sploh da narediti mal mi je zakomplicirano za razložit pa bom vseeno poizkusil

imam liste, ki so poimenovani npr: Andrej, Branko, Franc itd...
na teh listih so v istih celicah različne vrednosti npr. v
A1=20 (številke so lahko poljubne)
A2=30

zdej me pa zanima, če se da npr. na listu rezultat, potegnat vsoto iz vseh teh listov z različnimi imeni
liste z imeni bi v prihodnje še poljubno dodajal, na listu rezultat pa bi sprotno sešteval vrednosti celic iz teh listov.

Upam da je vsaj malo razumljivo kaj hočem.
Stenly
Prispevkov: 223
Pridružen: Sr Jul 27, 2005 11:29 pm

Odgovor Napisal/-a Stenly »

Pozdravljen

Poskusite s kodo:

Koda: Izberi vse

Sub Vsota()
'
   Vsota = 0
  For i = 1 To Sheets.Count
   Vsota = Vsota + Application.WorksheetFunction.Sum(Sheets(i).Range("A1,A2"))
  Next i

   MsgBox Vsota

End Sub
Lp
AlesZ
Prispevkov: 4
Pridružen: Pe Dec 01, 2006 9:04 pm

Odgovor Napisal/-a AlesZ »

Hvala za hiter odgovor

Sem čisti začetnik v excelu in bi prosil, če bi mi lahko malo bolj podrobno opisali kam napišem to kodo oz. kaj je treba narediti da bi to delovalo in da bi to izpisovalo v celico rezultat na listu rezultat
Prosim za potrpežljivost.
Stenly
Prispevkov: 223
Pridružen: Sr Jul 27, 2005 11:29 pm

Odgovor Napisal/-a Stenly »

Pozdrav

No ja, vsi smo bili na začetku.

Pa k stvari:

- omogočite makre (glej pomoč - varnost).
- posnamite makro (s tem se vam bo ustvaril modul,...
- s tipkama Alt + F11 boste vstopili v programski del in nazaj.
- v modul skopirajte priloženo kodo.
- zaženite makro (Orodja>>Makro>>Makri, izberite ime kode,…).

To je zelo poenostavljeno. Excel pa ima pomoč, kjer vse podrobno piše in vam je tudi stalno na voljo.

Prilagam še malo popravljeno kodo:

Koda: Izberi vse

Sub Vsota_Stevil()
'
   Vsota = 0
  For i = 1 To Sheets.Count
   If Sheets(i).Name <> "Rezultat" Then _
   Vsota = Vsota + Application.WorksheetFunction.Sum(Sheets(i).Range("A1,A2"))
  Next i

   Range("Rezultat!C1").Value = Vsota

End Sub
Torej ta vam sešteje vsoto celic A1 in B1 na vseh litih razen na listu "Rezultat". Na tega pa vam v celico C1 vpiše to vsoto.

Lp
AlesZ
Prispevkov: 4
Pridružen: Pe Dec 01, 2006 9:04 pm

Odgovor Napisal/-a AlesZ »

SUPER, hvala! to je bila pa spet hitra pomoč

Sem probal in deluje brezhibno, mogoče sem že tečen vendar me še zanima, kako se naredi da če bi naknadno, spreminjal vrednosti v A1 da bi avtomatsko spremenilo rezultat v celici C1 na listu rezultat, ker zdaj spremeni samo če grem na alt+F8 in dam zaženi, da se spremeni rezultat.
Mogoče sem že malo prezahteven vendar me vseeno zanima.

in HVALA še enkrat
cedra
Prispevkov: 264
Pridružen: Po Jul 25, 2005 11:11 pm
Kraj: Kamnik

Odgovor Napisal/-a cedra »

Pozdravljeni!

Vsa stvar, ki jo želite imeti, se da narediti tudi brez makra :D
Storite takole: Na listu "Rezultati", (najbolje, da ta list postavite na začetek ali konec vseh vaših listov) se postavite na celico, kjer želite imeti rezultat npr: "A1" in kliknite na ikono ∑, nato pa z miško označite prvi list, npr z imenom "Anton", držite tipko Shift in kliknite še zadnji list, npr "Žan"! Tako boste imeli označene vse liste, nato pa na trenutno aktivnem listu, katerikoli že je, kliknite tiste celice, ki naj se seštevajo na listu z rezultati! Še udarec na tipko Enter in pokazalo se bo tole:

Koda: Izberi vse

=SUM(Anton:Žan!A1:A2)
Zgornja koda bo seštevala vse kar bo vpisano v celici A1 in A2 na vseh listih, od Antona do Žana!
In to je to :lol: Sedaj se bo stvar računala brez makra, samodejno!
Paziti morate le na to, da ko boste vstavljali nov list, da ga vstavite nekam na sredino vseh listov, nikakor ne na začetek ali konec vseh listov! Formula namreč računa vsoto ali pa kaj drugega, na vseh listih, ki se nahajajo med "Antonom in Žanom" Upam, da sem bil dovolj jasen
:wink:

lp,

cedra
AlesZ
Prispevkov: 4
Pridružen: Pe Dec 01, 2006 9:04 pm

Odgovor Napisal/-a AlesZ »

Tudi to je dobra varianta, vidim da se da z excelom na različne načine dobivati enake rezultate.
Sem ugotovil da je najboljš dat za prvi list dati kar črko A in na zadnji list črko Ž in vmes vpisovati imena za poimenovanje listov.
Res hvala še enkrat, ste zelo resni na tem forumu za razliko od drugih, sem se na začetku kar malo bal da bo moje vprašanje ignorirano.

Lep pozdrav

Aleš
rick
Prispevkov: 216
Pridružen: So Feb 17, 2007 9:18 pm

Odgovor Napisal/-a rick »

pozdravljeni :)

se zahvaljujem za odgovore.
vesel sem,da jo v forumu ljudje kot sta cedra in stenly. :wink:

lp
Odgovori