|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jun 2001
Città: Cagliari
Messaggi: 48
|
Funzioni in Excel
Ciao,
ho un problema con excel: devo inserire le formule per calcolare i totali in varie celle ma non posso usare le funzioni predefinite di Excel perchè gli intervalli sono variabili: ho deciso di realizzare una procedura completamente automatizzata creando una funzione in VBA che seleziona gli intervalli corretti ed esegue la somma. Il problema è che quando assegno la funzione alla cella mi da l'errore: "Errore definito dell'applicazione", mentre se eseguo la funzione in modalità di debug tutto funziona bene. Richiamo la funzione sul foglio di lavoro nel solito modo: =test() Dove sbaglio? |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Mar 2003
Messaggi: 120
|
se mi fai dare un'occhiata al codice, forse riesco ad aiutarti!
ciao |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Jun 2001
Città: Cagliari
Messaggi: 48
|
sono solo 2 righe, comunque ecco qua:
Public Function test() Dim a as Integer On Error Goto errori: a = 1 Cells(1,1).Value = a Exit Sub errori: MsgBox err.Description End Function ripeto: passo passo è tutto OK, se provo ad assegnarla ad una cella mi da l'errore di cui ho parlato tnx ![]() |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Jun 2001
Città: Cagliari
Messaggi: 48
|
>Cells(1,1).Value = a
>Exit Sub naturalmente l'ultima riga è: Exit Function |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Jun 2001
Città: Cagliari
Messaggi: 48
|
Nel frattempo ho letto che tramite le function non è possibile modificare le celle di un foglio di lavoro mentre ciò è ammesso con le sub
![]() Fatemi sapere Grazie, ciao |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Jun 2001
Città: Cagliari
Messaggi: 48
|
Ho capito dove sbagliavo solo che non mi funziona. In questo senso: quando assegno la funzione alla cella, i calcoli vengono eseguiti correttamente con i valori già presenti, ma quando modifico uno dei valori delle celle su cui viene calcolata la funzione (si tratta di una semplice somma) il risultato non viene aggiornato (come invece fanno le funzioni built-in di Excel).
Mi potete aiutare? ![]() ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:56.