Newsgroup: it.comp.lang.visual-basic
Titolo: Formula "=somma(....)" su Excel

Ciao a tutti,
io ho la necessità di inserire dei dati su di un foglio excel e alla
fine inserire la formula che mi fa la Somma di tutte le righe nella
determinata colonna.
E fin qui tutto ok, ho inserito i dati compresi anche le fomrule
"=Ax*Bx" e tutto va, tranne che la formula che mi deve sommare la
colonna, in questo caso se apro il file XLS nella cella dove c'è la
formula, mi viene fuori "#NOME?",  basta seleziono la cella, premo F2
per la modifica e senza fare nessuna modifica premo il tasto invio...
e a questo punto mi esce il risultato della somma!
Ho pensato che magari ci votrrebbe un comando  per simulare la
presisone del tasto "INVIO" un pò come in Word con "^p"...
P.S.: Certo.. lo so che potrei fare la somma in VB e poi nelle celle
mettere le somme... ma, visto che è un XLS e potrebbe essere
modificato, volevo specificarele formule per far capire meglio a cosa
si riferiscono certi numeri...
Grazie dell'aiuto.
A presto.

io ho la necessit� di inserire dei dati su di un foglio excel e alla
fine inserire la formula che mi fa la Somma di tutte le righe nella
determinata colonna.
E fin qui tutto ok, ho inserito i dati compresi anche le fomrule
"=Ax*Bx" e tutto va, tranne che la formula che mi deve sommare la
colonna, in questo caso se apro il file XLS nella cella dove c'� la
formula, mi viene fuori "#NOME?",  basta seleziono la cella, premo F2
per la modifica e senza fare nessuna modifica premo il tasto invio...
e a questo punto mi esce il risultato della somma!
*****************************************
Non ho capito quasi nulla.
Comunque, da vb, sarebbe:
NomeFoglio.Range(tuoRange).Value = "=SUM(RangeSomma)"
Questo, astratto come versione di Excel,
fa quanto mi sembra di capire tu chieda
sulla colonna A del Foglio1 del file
C:\tuoFile.xls:
Private Sub Command1_Click()
    Dim objExcel As Object
    Dim objWorkbook As Object
    Dim objWorksheet As Object
    Dim lUltRiga As Long
On Error GoTo RigaErrore
    Set objExcel = CreateObject("Excel.Application")
    Set objWorkbook = objExcel.Workbooks.Open("C:\tuoFile.xls")
    Set objWorksheet = objWorkbook.worksheets("Foglio1")
    objExcel.Visible = True
    With objWorksheet
        'trovo l'ultima riga con un valore della colonna A
        lUltRiga = .cells(.Rows.Count, 1).End(-4162).Row
        'scrivo la formula =Sum(Range) nella prima
        'cella vuota della colonna A
        .cells(lUltRiga + 1, 1).Value = _
            "=SUM(" & .Range("A1:A" & _
            lUltRiga).address & ")"
    End With
    'objWorkbook.Saved = True
RigaChiusura:
    objExcel.Quit
    Set objWorksheet = Nothing
    Set objWorkbook = Nothing
    Set objExcel = Nothing
    Exit Sub
RigaErrore:
    MsgBox Err.Number & vbNewLine & Err.Description
    Resume RigaChiusura
End Sub
Grazie per l'attenzione.
-- 
---------------------------
Mauro Gamberini
Microsoft MVP - Excel
http://www.riolab.org/
http://www.maurogsc.eu/
http://social.microsoft.com/Forums/it-IT/excelit/threads

             lUltRiga).address & ")"
Invece di .Value devi usare .Formula.


Hai provato?
Hai visto cosa hai nella cella?
Formula e Value riportano la stessa cosa
e vogliono la funzione in inglese.
Se vuoi utilizzare la funzione localizzata
(ma da vb non � sicuramente il massimo)
FormulaLocal.


 e vogliono la funzione in inglese.
Non � mio il problema comunque :)
E' che non erano venuti i caratteri di quote, e pensavo che il tuo codice
presentasse il problema.
Comunque ovviamente si devono usare i nomi in inglese.

 Comunque ovviamente si devono usare i nomi in inglese.
;-)
