Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Execl] Si può inserire una formula direttamente

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

[Execl] Si può inserire una formula direttamente

Postdi ramset64 » 31/12/08 13:08

... nel codice vba?
Es.
Sub Macro1()
X = Range("D1")
Range("C" & X).Select
End Sub

Nella cella D1 ho questa formula: CONFRONTA(B1;A:A;0) che mi restituisce un numero.
Posso in qualche modo inserire direttamente nella macro questa formula?
ramset64
Utente Senior
 
Post: 396
Iscritto il: 29/10/08 10:41
Località: Torino

Sponsor
 

Re: [Execl] Si può inserire una formula direttamente

Postdi Flash30005 » 31/12/08 14:26

ramset64 ha scritto:... nel codice vba?
Es.
Sub Macro1()
X = Range("D1")
Range("C" & X).Select
End Sub

Nella cella D1 ho questa formula: CONFRONTA(B1;A:A;0) che mi restituisce un numero.
Posso in qualche modo inserire direttamente nella macro questa formula?


Se quello che vuoi ottenere è X = Numero riga (ottenuto dalla formula in D1) allora puoi fare così
Codice: Seleziona tutto
Sub Macro1()
X = Range("D1").value     
Range("C" & X).Select
End Sub


sarebbe comunuqe più corretto indicare anche il nome del foglio
X = Worksheets("Nomefoglio").Range("D1").Value
Worksheets("Nomefoglio").Range("C" & X).Select
in questa maniera avrai sempre i dati corretti indipendentemente dal foglio risultante attivo al momento dell'avvio della macro
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Execl] Si può inserire una formula direttamente

Postdi ramset64 » 31/12/08 14:39

Flash grazie per la correzione. La domanda però era un'altra.... è possibile evitare il calcolo presente nella cella D1 e farlo direttamente su VBA?
ramset64
Utente Senior
 
Post: 396
Iscritto il: 29/10/08 10:41
Località: Torino

Re: [Execl] Si può inserire una formula direttamente

Postdi Anthony47 » 31/12/08 21:08

Molte formule possono essere usate nel vba con la sintassi Application.WorksheetFunction.Nome-funzione; va usato il nome in inglese, nel tuo caso: Match. Per l' elenco, vedi l' help on line del vba alla voce " Elenco delle funzioni di foglio di calcolo disponibili per Visual Basic".
Tieni presente che Match andra' in errore se la voce cercata non esiste in elenco, quindi devi prepararti a gestire questa situazione; guarda come ho fatto in queste discussioni:
viewtopic.php?p=431409
viewtopic.php?f=26&t=62779
viewtopic.php?f=26&t=68362
(tra le tante presenti nel forum).

Buon anno.
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: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Execl] Si può inserire una formula direttamente

Postdi ramset64 » 02/01/09 09:17

Ok Anthony grazie... senti se scrivo questo codice:
Public Sub Worksheet_activate()
X = Worksheets("Foglio1").Range("D1").Value
Worksheets("Foglio1").Range("B" & X).Select
End Sub

All'attivazione del foglio il codice funziona e va sulla giusta cella, se invece voglio che questo succede in apertura del file (il file ha un solo foglio) e scrivo:
Public Sub Worksheet_open()
X = Worksheets("Foglio1").Range("D1").Value
Worksheets("Foglio1").Range("B" & X).Select
End Sub

il codice non funziona ovvero non succede niente.
Dove sbaglio?
ramset64
Utente Senior
 
Post: 396
Iscritto il: 29/10/08 10:41
Località: Torino

Re: [Execl] Si può inserire una formula direttamente

Postdi Anthony47 » 02/01/09 18:39

1) L' evento Worksheet_open NON esiste; esiste invece Workbook_Open.
2) Ricorda che le due macro vanno messe in "Moduli di codice" diversi.
Sulla finestra del vba trovi, a sx, il frame intestato "Progetto - VBAProject" con l' elenco dei fogli che compongono il tuo file (se non lo vedi, premi Contr-r); metterai la Worksheet_Activate nel foglio che si attiva facendo doppioclick sul nome foglio a cui vuoi associare l' evento, mentre metterai Workbook_Open sul foglio che si apre con doppioclick su ThisWorkbook.

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: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Execl] Si può inserire una formula direttamente

Postdi ramset64 » 05/01/09 23:05

Ok grazie, fatto! :)

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


Torna a Applicazioni Office Windows


Topic correlati a "[Execl] Si può inserire una formula direttamente":


Chi c’è in linea

Visitano il forum: Marius44 e 19 ospiti