Condividi:        

[Excel] macro per inserire formula in una cella

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

[Excel] macro per inserire formula in una cella

Postdi Vincent72 » 13/02/14 13:02

Ciao a tutti,
da neofita di VB, sto cercando di fare una macro per inserire una formula il tutte le celle di una colonna.
Per il momento con questo codice sono riuscito a farlo per una singola cella

Codice: Seleziona tutto
Private Sub Worksheet_Calculate()

    Application.ScreenUpdating = False
    code = Range("P2").Value
    If Range("Q2").Value = "SEDEX" Then
    Range("I2").Select
    ActiveCell.FormulaR1C1 = "=FDF|Q!'" & code & ";Ask'"
    Else
    Range("I2").Select
    ActiveCell.FormulaR1C1 = "=FDF|Q!'" & code & ".TX;Ask'"
    End If
End Sub


e ho provato ad esterderlo per tutte le celle della colonna, facendogli contare le celle non vuote modificando il codice come di seguito. Il codice viene eseguito il problema è che devo interrompere il codice manualmente altrimenti rimane tutto bloccato.

Codice: Seleziona tutto
Private Sub Worksheet_Calculate()

    Application.ScreenUpdating = False
    rigax = Range("P2").End(xlDown).Row
    For i = 2 To rigax
    code = Range("P" & i).Value
    If Range("Q" & i).Value = "SEDEX" Then
    Range("I" & i).Select
    ActiveCell.FormulaR1C1 = "=FDF|Q!'" & code & ";Ask'"
    Else
    Range("I" & i).Select
    ActiveCell.FormulaR1C1 = "=FDF|Q!'" & code & ".TX;Ask'"
    End If
    Next i
End Sub


Come posso risolvere?
Vincent72
Newbie
 
Post: 4
Iscritto il: 13/02/14 12:08

Sponsor
 

Re: [Excel] macro per inserire formula in una cella

Postdi ricky53 » 13/02/14 13:22

Ciao,
perchè hai associato il codice a questa macro "Private Sub Worksheet_Calculate()" ???

Sposta il codice in un modulo (per esempio "Modulo1") e cambia il nome alla macro, per esempio "Sub Scrivi_Formule()" ed eseguila con "F5" oppure per controllare l'esecuzione con "F8" (passo passo)
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [Excel] macro per inserire formula in una cella

Postdi Vincent72 » 13/02/14 13:56

:oops: :oops:

in pratica l'avevo messa in "Private Sub Worksheet_Calculate()" perchè nel modulo mi dava un errore che non capivo nella dichiarazione Sub.

Ora invece funziona perfettemente. Grazie

Ne approfitto e faccio un'altra domanda. Sarebbe possibile attivare la macro in modo automatico al cambiamento di valore di una cella o facendo ad esempio un doppio click?
Vincent72
Newbie
 
Post: 4
Iscritto il: 13/02/14 12:08

Re: [Excel] macro per inserire formula in una cella

Postdi ricky53 » 13/02/14 15:07

Ciao,
si, io consiglio il "Doppio Click".
Puoi utilizzare anche un pulsante alla quale associ la macro "Scrivi_Formule"

Con il "doppio Click" puoi fare in questo modo
Codice: Seleziona tutto
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
     Call Scrivi_Formule
End Sub


Questa macro va copiata nel foglio ove vuoi operare:
seleziona il foglio che ti interessa
tasto destro
visualizza codice
copia il codice nella finestra che ti viene proposta
e poi con Doppio Click su una cella
Si può inserire il controllo che il Doppio Click sia fatto in una specifica cella e ... ma prima prova e poi vediamo come proseguire.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [Excel] macro per inserire formula in una cella

Postdi Vincent72 » 13/02/14 15:28

Grazie mille è perfetta.

Se hai ancora voglia di spiegarmi come farlo su una cella specifica te ne sarei grato .
Vincent72
Newbie
 
Post: 4
Iscritto il: 13/02/14 12:08

Re: [Excel] macro per inserire formula in una cella

Postdi ricky53 » 13/02/14 16:35

Ciao,
si.
Prova in questo modo
Codice: Seleziona tutto
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Address(0, 0) = "A5" Then ' <<===== Cella da cambiare
        Call Scrivi_Formule
    End If
End Sub



Ho scelto la cella "A5" cambiala in base alle tua situazione
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: [Excel] macro per inserire formula in una cella

Postdi Vincent72 » 13/02/14 16:48

Perfetto, grazie di tutto.
Vincent72
Newbie
 
Post: 4
Iscritto il: 13/02/14 12:08

Re: [Excel] macro per inserire formula in una cella

Postdi ricky53 » 13/02/14 16:50

Ciao
alla prossima e buona continuazione
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] macro per inserire formula in una cella":


Chi c’è in linea

Visitano il forum: Nessuno e 38 ospiti