Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

calcolo diretto in vba

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

calcolo diretto in vba

Postdi ramset64 » 18/02/09 19:20

Nella cella C1 ho questa formula (che mi fa una verifica sui dati):
=SE(VAL.NON.DISP(INDICE(R14:R300,CONFRONTA(Ticker,S14:S300,0))),"Error","Ok")

If Range("C1") = "Error" Then MsgBox ("Errore")

Vorrei sapere se è possibile effettuare la verifica richiamando la formula contenuta in C1 direttamente da vba senza necessità di avere la formula in C1.

Grazie, saluti
ramset64
Utente Senior
 
Post: 396
Iscritto il: 29/10/08 10:41
Località: Torino

Sponsor
 

Re: calcolo diretto in vba

Postdi Anthony47 » 18/02/09 23:41

Se non sbaglio la parte Indice+Confronta e' semplificabile in Cerca.Vert(Ticker;S14:S300;0).
Per quanto riguarda la domanda, si puo' fare usando Application.WorksheetFunction.NomeFunzione
NomeFunzione e' Index per Indice, Match per Confronta e Vlookup per Cerca.Vert.
La complicazione nasce dal fatto che se usi Vlookup e il dato cercato non esiste allora l' istruzione fallisce con un errore di vba; idem se usi Match; se invece usi Index e il valore estratto dall' elenco e' un #N/D allora la variabile di destinazione conterra' un codice di errore (la stessa variabile, se dichiarata, deve essere dichiarata "as Variant"; oppure non dichiarata e allora sara' variant di default).

Nel primo caso puoi trappare l' eventuale errore con On Error Goto GestErr ; nel secondo caso devi controllare l' eventuale errore contenuto nella label. Probabilmente devi fare una combinazione.

Insomma: la cosa piu' semplice e' lasciare tutto su formula; eventualmente puoi "inserire" la formula da vba con
Range("C1").FormulaLocal="=SE(VAL.NON.DISP(INDICE(R14:R300,CONFRONTA(Ticker,S14:S300,0))),""Error"",""Ok"")"

Ciao.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: calcolo diretto in vba

Postdi ramset64 » 19/02/09 16:09

A questo punto credo che seguirò il tuo consiglio.
Grazie, ciao
ramset64
Utente Senior
 
Post: 396
Iscritto il: 29/10/08 10:41
Località: Torino

Re: calcolo diretto in vba

Postdi Anthony47 » 19/02/09 16:13

Non volevo scoraggiarti per sadismo, ma solo mettere in evidenza quanto fosse piu' semplice lavorare su excel rispetto a lavorare in vba.
Io dico sempre: Fare in excel tutto quello che si puo' ragionevolmente fare, solo il resto farlo in vba.

Ciao.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: calcolo diretto in vba

Postdi ramset64 » 19/02/09 19:35

Ma infatti condivido il tuo pensiero e quindi seguirò il tuo consiglio.
Ciao
ramset64
Utente Senior
 
Post: 396
Iscritto il: 29/10/08 10:41
Località: Torino


Torna a Applicazioni Office Windows


Topic correlati a "calcolo diretto in vba":


Chi c’è in linea

Visitano il forum: Maury170419 e 11 ospiti