Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Come attivare macro condizione funzione SE

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

Come attivare macro condizione funzione SE

Postdi Briscolone » 17/01/09 15:56

Buongiorno

mi sono appena iscritto e vedo che qui le persone competenti non mancano.

Prima di iscrivermi avevo letto questo post
viewtopic.php?p=278391

ma non sono riuscito a risolvere il problema che ho, che è il seguente.

Devo far partire una macro in funzione di un risultato di una operazione su una cella. Se il risultato è giusto (per quello che devo fare) faccio partire una macro che attiva il botton degli applausi preso dai clipart e a cui ho associato una macro, diversamente partono dei fischi. Il problema è che non so come associare la/le macro al risultato della formula SE

spero di essere stato chiaro
Briscolone
Newbie
 
Post: 5
Iscritto il: 17/01/09 15:48

Sponsor
 

Re: Come attivare macro condizione funzione SE

Postdi Tribuno » 18/01/09 09:51

Ciao Briscolone e benvenuto,

secondo me la discussione cui fai riferimento riporta la soulzione al tuo problema:
Alexsandra ha scritto:
Codice: Seleziona tutto
 =SE(A1<5000;A1*8%;SE(E(A1>=5000;A1<25001);A1*4%;SE(A1>=25000;A1*2,5%)))

inserendo un valore in A1 la formula ti porta il risultato in D1.
apri VBA e nel foglio che hai inserito la formula metti il seguente codice
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("d1").Value <> "" Then
MsgBox "Ciao avvio una macro di prova"
End If
End Sub
ovviamente cambiando i riferimenti nella formula e anche nel codice VB puoi fare quello che desideri

PS. la macro ti parte in sempre perchè ho messo la condizione (<> "") se invece tramite la formula metti un risultato tipo <= 100 solo in quel caso si avvia


questo è il punto di partenza. Adesso bisgona capire come hai strutturato il file e quali sono le tue esigenze. Io applicherei questa soluzione:

1) in un modulo creo le macro "Applausi" e "Fischi"
2) nell'evento Worksheets_Change del mio foglio, ammettendo che devo verificare il valore della cella A1, inserisco queste istruzioni:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
    Select Case Range("A1")
        Case 0
            Fischi
        Case 1
            Applausi
    End Select
End If
End Sub

quindi se il valore della cella A1=0 parte la macro "Fischi", se il valore della cella A1=1 parte la macro "Applausi".
3) l'evento del punto 2 parte solo nel caso in cui il valore della cella A1 viene modificata.

Ripeto, questo è un punto di partenza.

Ciao
Tribuno
Avatar utente
Tribuno
Utente Senior
 
Post: 181
Iscritto il: 22/08/08 19:24

Re: Come attivare macro condizione funzione SE

Postdi Anthony47 » 18/01/09 16:19

Ciao Briscolone e benvenuto nel forum.
Il link citato da Tribuno non chiarisce come fare perche' le macro Fischi e Applausi facciano suonare qualcosa, io consiglio invece di guardare da questo link: viewtopic.php?f=26&t=76725, in particolare questo post viewtopic.php?f=26&t=76725#p435762 e il successivo, e soprattutto l' articolo Microsoft linkato.
E' possibile cioe' usare la funzione sndPlaySound32 di Windows o la stessa sndPlaySound32 inserita pero' in una UDF (UserDefinedFunction) PlaySound(Suono) di excel; questa seconda ipotesi consente la scrittura di formule del tipo =SE(Questo>10;playsound("C:\Documents and Settings\Il-Path-Completo\Applausi.wav";playsound("C:\Documents and Settings\Il-Path-Completo\Fischi.wav")

Ciao, fai sapere dove arrivi.
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: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Come attivare macro condizione funzione SE

Postdi Briscolone » 18/01/09 21:56

grazie ad entrambi per le risposte

temo che sono arrivato al capolinea :( e pensare che ai tempi ero un maghetto con i fogli elettronici eal lavoro mi chiamavano macro, per la mia abitudine di risolvere con questo strumeto diversi problemi. Ma erano altri tempi e usavo il lotus 123. Ammetto che con excel faccio un po di fatica

non voglio arendermi, però sono vicino. :-?

Anotny la formula playsound non la trovo. Deduco che la devo creare io. Ma non l'ho mai fatto e non ho idea di come fare. Fra le due opzion roposte mi sembra la più facile.

La prima proposta da Tiburtino mi obbligherebbe forse a passi ancor più complessi
Briscolone
Newbie
 
Post: 5
Iscritto il: 17/01/09 15:48

Re: Come attivare macro condizione funzione SE

Postdi Anthony47 » 19/01/09 01:38

"sndPlaySound32" esiste gia' ma la devi gestire come scritto nell' articolo Microsoft che ho linkato sopra (http://support.microsoft.com/kb/213777/en-us); "playsound" la devi invece costruire, ma e' esattamente lo stesso codice della macro Microsoft con 2 righe diverse, come scritto nel post che ti ho linkato: viewtopic.php?f=26&t=76725#p435862 sotto le righe titolate "PER I PIU' ESPERTI"

Insomma:
-prendi il codice dall' articolo Microsoft, dalla linea 'This function declaration etc etc fino a End Sub
-da excel: alt-F11 per aprire l' editor delle macro; Menu /Inserisci /Modulo; incolla il codice nel frame di dx
-modificare le due righe come da mio post linkato

Poi in excel scrivi per prova una formula semplice come =playsound("Il path e il nome di un .wav da suonare"), e sentine l' effetto.
Ora playsound e' una funzione che puoi usare come tutte le altre, anche all' interno di una funzione SE dove deciderai se far suonare il file "applausi" o "fischi".

Ciao, fai sapere.
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: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Come attivare macro condizione funzione SE":


Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti