formula z makrom

Pomoč pri delu z MS Excelom
Odgovori
tjasa
Prispevkov: 5
Pridružen: Po Feb 16, 2009 6:00 pm

formula z makrom

Odgovor Napisal/-a tjasa »

hojla :)

zanima me ,kako se napiše formula z makrom npr.:

=SUM(A1:A10) 'rezultat napiši v vrstico a11 in

in drugi primer:

=average(A1:A10) 'rezultat napiši v vrstico a11 in

stvar je v tem,da makro znam posneti,vendar me zanima,kako zgleda,
če to napišeš.vesela bom vašega odgovora.

lp
admin
Site Admin
Prispevkov: 3712
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Makro, ki ga napišete sami je lahko kvečjemu optimiziran (če seveda znate programirati :); sicer je seveda še slabši od posnetega), in zatorej tudi koda za vaš primer izgleda natanko tako, kot če makro posnamete:

Koda: Izberi vse

Range("A11").FormulaR1C1 = "=SUM(R[-10]C:R[-1]C)"
PS: Seveda tu govoriva o preprostih makrih brez vejitev, zank in podobnega!
lp,
Matjaž Prtenjak
Administrator
tjasa
Prispevkov: 5
Pridružen: Po Feb 16, 2009 6:00 pm

Odgovor Napisal/-a tjasa »

pozdravljen

hvala za odgovor :) ,no in potem pa veselo na snemanje makra.

lp
cedra
Prispevkov: 264
Pridružen: Po Jul 25, 2005 11:11 pm
Kraj: Kamnik

Odgovor Napisal/-a cedra »

Meni je veliko bolj razumljivo tako:

Koda: Izberi vse

Range("A11") = WorksheetFunction.Sum(Range("A1:A10"))
Range("A12") = WorksheetFunction.Average(Range("A1:A10"))
lp,

cedra
admin
Site Admin
Prispevkov: 3712
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Preizkusite vašo in "mojo" rešitev... Sta isti?
lp,
Matjaž Prtenjak
Administrator
cedra
Prispevkov: 264
Pridružen: Po Jul 25, 2005 11:11 pm
Kraj: Kamnik

Odgovor Napisal/-a cedra »

Sem preizkusil in vidim, da resnično ni isto, čeprav je končni rezultat enak. Pri vas v celico napiše še formulo, pri "mojem" primeru pa samo rezultat. Mislim pa, da je za tjasa pomemben samo rezultat.
Sam sem hotel samo povedati, da mi je "moj" način bolj jasen in pregleden. Sem pa mislim, nekje bral, da v vsakem primeru računa oz. uporablja tisto "FormulaR1C1".
lp,

cedra
admin
Site Admin
Prispevkov: 3712
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Upam da vas ne bom odvrnil od nadalnje pomoči :), ker to ni bil moj namen... Malce sem vas samo pohecal.

Moja rešitev pa je takšna kot je samo zato, ker je točno takšna originalna želja, tako da imete spet "narobe":
... zanima me ,kako se napiše formula z makrom ...
No vsaj jaz ta stavek razumem povsem dobesedno, da je želja v tabelo vpisati formulo - toda s pomočjo makra....
lp,
Matjaž Prtenjak
Administrator
cedra
Prispevkov: 264
Pridružen: Po Jul 25, 2005 11:11 pm
Kraj: Kamnik

Odgovor Napisal/-a cedra »

Ne, ne, ne, le zakaj bi me odvrnili od pomoči, ki jo včasih nudim na "našem" forumu, če seveda znam pomagati. Ves ta "pogovor" jaz razumem kot neko vrsto izmenjavo mnenj. Veste, jaz kot amater velikokrat vprašanja razumem drugače kot vi, ker imam povprečno znanje in se tudi sam srečujem s podobnimi problemi kot ostali. Vam pa se verjetno kdaj pa kdaj, zaradi profesionalne deformacije, kot se temu reče, zdi problem bolj kompliciran in globlji, kot je v resnici.
Zato sem imel občutek, da je za tjasa pomembno dobiti rezultat in ne tudi formule. Lahko, da se bo tjasa oglasil-a in povedal-a, kaj je imel-a v mislih. Nikakor pa ni bil moj namen "pametovati", bog ne daj, temveč morda pokazati rešitev bolj razumljivo, vsaj po mojih izkušnjah. Pa brez zamere...
lp,

cedra
tjasa
Prispevkov: 5
Pridružen: Po Feb 16, 2009 6:00 pm

Odgovor Napisal/-a tjasa »

pozdravljena :D

me veseli,da je ta forum tako živahen in dejaven.prebrala sem vajini mnenji
in zanimivo,kako si oba tolmačita moje vprašanje."naš" admin ima,kot pravi cedra res veliko znanja,skrbno prebere vprašanje in nato odgovori temu primerno.no cedra spada bolj med navadne smrtnike zato je uganil mene(ki sem tudi navadna smrtnica),kaj si zares želim.
in res želela sem si nekaj kot je:
Range("A11") = WorksheetFunction.Sum(Range("A1:A10"))
no,sedaj vem,kako bi naj izgledale ostale formule,saj je funkcija lepo
berljiva,tisto,kar pa posname makro,pa mi ni najbolj všeč.rezultat je seveda enak.
Range("A11").FormulaR1C1 = "=SUM(R[-10]C:R[-1]C)"
samo toliko,sicer pa sta oba zlo ok. :wink:
admin
Site Admin
Prispevkov: 3712
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Šmrc.... :oops: :oops: pa sem pogorel....
lp,
Matjaž Prtenjak
Administrator
Odgovori