Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Wstawienie =SUMA(..) do EXCEL-a z kodu VBA

6,063 views
Skip to first unread message

siwy5

unread,
Jul 13, 2012, 6:30:51 AM7/13/12
to
Witam,

Wysłanie do pliku Excela (do komórki) z Accesa polecenia:
app.Application.Worksheets(zakladka).Cells(11, 2).Value = "=suma(b6:b10)"
nie sumuje w Excellu. Wpis wzrokowo w komórce jest ok. ale pisze #NAZWA? Jeśłi wejde do Excella i w tą komórke i wyjde z niej ENTERem to wtedy zsumuje. Co mi brakuje do działania tego ??

Pozdrawiam
Daniel

Krzysztof Naworyta

unread,
Jul 13, 2012, 6:59:42 AM7/13/12
to
.Cells(11,2).Formula = "=suma(b6:10)"
^^^^^^^^

?

--
KN

IDKrzych

unread,
Jul 13, 2012, 7:04:39 AM7/13/12
to
W dniu 2012-07-13 12:30, siwy5 pisze:
Może już prędzej tak:
app.Application.Worksheets(zakladka).Cells(11, 2)
.FormulaLocal = "=SUMA(B6:B10)"

lub z adresowaniem względnym:
.FormulaR1C1Local = "=SUM(R[1]C:R[5]C)"

Powinno zadziałać

--
IDKrzych

"Jakkolwiek będzie - będzie inaczej, aniżeli sobie wyobrażamy
- ponieważ między Dobrem a Złem znajdujemy się w życiu i w świecie
wielowymiarowym,
w którym dokumentnie pomieszane jest Przypadkowe z Nieuchronnym."
(S. Lem 1999)


IDKrzych

unread,
Jul 13, 2012, 7:07:34 AM7/13/12
to
W dniu 2012-07-13 12:59, Krzysztof Naworyta pisze:
dla .Formula musiało by być po "anglijsku" =sum(b6:b10) ;)
^^^^^

formuły po naszemu wstawiać w .FormulaLocal.

Marzena

unread,
Jul 13, 2012, 7:17:42 AM7/13/12
to

Użytkownik "siwy5" <banas...@poczta.onet.pl> napisał w wiadomości
news:38842c1f-29a9-402c...@googlegroups.com...
A czy nazwa arkusza nie powinna byc też w cudzysłowiu? Czyli ...
Worksheets("zakladka"). ...


marzatela
-------------------
http://www.szultaset.pl

Jacek

unread,
Jul 13, 2012, 9:13:19 AM7/13/12
to
Kolega napisał, że formuła do komórki 'wchodzi', jedynie sie nie sumuje.

siwy5

unread,
Jul 13, 2012, 7:17:36 AM7/13/12
to
Dziękuję - sprawa zamknięta,

Problem był w SUMA bo powinno być wysyłane SUM(..) a w EXCEL-u i tak w komórce pokazuje się SUMA ale się wylicza... te wersje językowe.
Tak dla potomnych DZIAŁA:
app.Application.Worksheets(zakladka).Range("b25").Value = "=sum(B6:b21)"
app.Application.Worksheets(zakladka).Range("b27").Formula = "=sum(B6:b21)"

ale FormulaLocal NIE działa.
app.Application.Worksheets(zakladka).Range("b29").FormulaLocal = "=sum(B6:b21)"

Dzięki serdeczne
Daniel




Jacek

unread,
Jul 13, 2012, 11:21:08 AM7/13/12
to
VBA już tak ma. Npisz makro w Excelu z takim samym zadaniem i dowiesz się,
że bedziesz w VBA musiał użyć 'SUM'.

IDKrzych

unread,
Jul 13, 2012, 3:02:08 PM7/13/12
to
W dniu 2012-07-13 13:17, siwy5 pisze:
- .Value jest dla wartości... tutaj nie powinno się wpisywać formuł
(choć jak widać czasami działa, ale może dać nieoczekiwane rezultaty)
- .Formula jest na formuły w "naturalnym" języku ;) czyli angielskim.
Wpisując tutaj mamy pewność, że zadziała na każdej wersji językowej.
- .FormulaLocal jest na formuły w języku lokalnym excela (czyli u nas
najczęściej polskim - ale pewności nie ma)

dlatego:
.Formula = "=sum(B6:b21)"
ale już:
.FormulaLocal = "=suma(B6:b21)"
^^^^^^

Pozdrawiam

Marzena

unread,
Jul 14, 2012, 5:22:07 AM7/14/12
to

Użytkownik "Jacek" <a...@ola.pl> napisał w wiadomości
news:qivlte96wjfj$.1180y2l7eydrj.dlg@40tude.net...
>
> Kolega napisał, że formuła do komórki 'wchodzi', jedynie sie nie sumuje.

Wiem, ale zdziwiło mnie to i wyraziłam swoją wątpliwość.
Pewnie w innym miejscu kodu ma zadeklarowaną zmienną.

marzatela
----------------------------------
http://www.szultaset.pl

0 new messages