Condividi:        

Modificare una macro

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

Modificare una macro

Postdi gimart » 20/10/12 15:52

Buongiorno. Ho una macro che mi seleziona tutte le celle con carattere rosso di un foglio e mi trascrive la somma dei valori in una certa cella. Dopo l'operazione mi lascia le celle selezionate ed io vorrei sapere se è possibile aggiungere delle istruzioni che deselezionino le celle e mi riportino alla cella dove mi trovavo quando ho lanciato il comando.
La macro è questa:

Public Sub SaldoSpese()

Dim c As Range
Dim rngFoglio As Range
Dim rng As Range

Set rngFoglio = Range("B3:Q33")

For Each c In rngFoglio
If c.Font.Color = RGB(255, 0, 0) Then
If rng Is Nothing Then
Set rng = Range(c.Address)
Else
Set rng = Union(rng, c)
End If
End If
Next

rng.Select

Range("Q35").Value = fSommaValori(rng)

Set c = Nothing
Set rng = Nothing
Set rngFoglio = Nothing

End Sub


Grazie a chi vorrà aiutarmi.
gimart
Win 10 and Office 2010
Avatar utente
gimart
Utente Senior
 
Post: 1055
Iscritto il: 21/02/10 12:09

Sponsor
 

Re: Modificare una macro

Postdi Flash30005 » 20/10/12 17:55

La riga evidenziata toglie la selezione e devi inserirla a fine macro insieme alla seconda riga-codice
l'altra è l'indirizzo cella che vorresti selezionare (in questo caso A1)
Codice: Seleziona tutto
    Application.CutCopyMode = False '<<<<<<<
    Range("A1").Select


ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Modificare una macro

Postdi Anthony47 » 20/10/12 23:56

Mi permetto di dire che la macro che usi e' la complicazione degli affari semplici; prova questa versione semplificata, risolve anche il problema di lasciarti la selezione immutata:
Codice: Seleziona tutto
Public Sub SaldoSpeseV2()
Dim MySum
For Each c Range("B3:Q33")
     If c.Font.Color = RGB(255, 0, 0) Then MySum=MySum+c.Value
Next
Range("Q35").Value = MySum
End Sub

Fa anche a meno della fSommaValori(rng)

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19217
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Modificare una macro

Postdi gimart » 21/10/12 04:49

Flash30005 ha scritto:La riga evidenziata toglie la selezione e devi inserirla a fine macro insieme alla seconda riga-codice
l'altra è l'indirizzo cella che vorresti selezionare (in questo caso A1)
Codice: Seleziona tutto
    Application.CutCopyMode = False '<<<<<<<
    Range("A1").Select


ciao


Grazie Flash, funziona bene. L'unica cosa che non fa è riportarmi. alla fine, alla cella in cui mi trovavo prima della macro. Ma non è importantissimo.
gimart
Win 10 and Office 2010
Avatar utente
gimart
Utente Senior
 
Post: 1055
Iscritto il: 21/02/10 12:09

Re: Modificare una macro

Postdi gimart » 21/10/12 04:53

Anthony47 ha scritto:Mi permetto di dire che la macro che usi e' la complicazione degli affari semplici; prova questa versione semplificata, risolve anche il problema di lasciarti la selezione immutata:
Codice: Seleziona tutto
Public Sub SaldoSpeseV2()
Dim MySum
For Each c Range("B3:Q33")
     If c.Font.Color = RGB(255, 0, 0) Then MySum=MySum+c.Value
Next
Range("Q35").Value = MySum
End Sub

Fa anche a meno della fSommaValori(rng)

Ciao


Mi dispiace Anthony, ma non funziona. C'è un problema con l'istruzione:

For Each c Range("B3:Q33")

che diventa di colore rosso appena la trascrivo nella macro che poi si blocca sulla stessa.
gimart
Win 10 and Office 2010
Avatar utente
gimart
Utente Senior
 
Post: 1055
Iscritto il: 21/02/10 12:09

Re: Modificare una macro

Postdi peppo55 » 21/10/12 09:38

Ciao gimart

guarda la tua prima macro che hai postato e vedrai dove è l'errore.

For Each c ...

peppo
peppo

Excel 2010
peppo55
Utente Senior
 
Post: 167
Iscritto il: 30/09/12 13:51

Re: Modificare una macro

Postdi gimart » 21/10/12 10:08

peppo55 ha scritto:Ciao gimart

guarda la tua prima macro che hai postato e vedrai dove è l'errore.

For Each c ...

peppo


Ciao Peppo,
non ho capito a quale macro ti riferisci. La mia macro funziona, solo che termina con le celle rosse tutte ancora selezionate. Quella che non funziona è la macro di Anthony.
gimart
Win 10 and Office 2010
Avatar utente
gimart
Utente Senior
 
Post: 1055
Iscritto il: 21/02/10 12:09

Re: Modificare una macro

Postdi Anthony47 » 21/10/12 11:04

Mi dispiace Anthony, ma non funziona. C'è un problema con l'istruzione:
For Each c Range("B3:Q33")

Perche' la sintassi giusta e'
Codice: Seleziona tutto
For Each c in Range("B3:Q33")
(come il buon peppo ha indicato)

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19217
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Modificare una macro

Postdi gimart » 21/10/12 11:26

Anthony47 ha scritto:
Mi dispiace Anthony, ma non funziona. C'è un problema con l'istruzione:
For Each c Range("B3:Q33")

Perche' la sintassi giusta e'
Codice: Seleziona tutto
For Each c in Range("B3:Q33")
(come il buon peppo ha indicato)

Ciao


Benissimo Anthony. Ora è veramente perfetta. Grazie mille a te ed agli altri amici che hanno partecipato al thread.
gimart
Win 10 and Office 2010
Avatar utente
gimart
Utente Senior
 
Post: 1055
Iscritto il: 21/02/10 12:09


Torna a Applicazioni Office Windows


Topic correlati a "Modificare una macro":


Chi c’è in linea

Visitano il forum: Nessuno e 32 ospiti