Condividi:        

[Excel] Creare 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

[Excel] Creare Macro

Postdi Dr. Tersilli » 22/11/13 16:07

Salve,
ho bisogno di aiuto per creare una macro.
Innanzitutto su Excel v14 non trovo più pulsante per creare macro.

Vorrei che una cella (e.g. A1) facesse la seguente operazione (forse non serve nemmeno una macro):

If
A2 = 'Pippo' (posso anche inserire il testo, ci sono solo 3 possibilità)
and
A3 ≠ vuoto o 0 (valore numerico)
then
A1=A3*A4*A5 dove A4 e A5 sono valori numerici

Spero di essere stato chiaro

Grazie mille
Dr. Tersilli
Newbie
 
Post: 4
Iscritto il: 22/11/13 15:23

Sponsor
 

Re: [Excel] Creare Macro

Postdi ilnonno13 » 22/11/13 17:04

Posizionati su A1 e scrivi:

=SE(E(A2<>"";O(A3<>"";A3<>"0"));A3*A4*A5;"boh")

il boh sta per il fatto che non ci hai detto cosa vuoi fare se gli argomenti inseriti risultano falsi...
S.O. W7; Office 2007
ilnonno13
Utente Junior
 
Post: 22
Iscritto il: 22/11/13 11:48

Re: [Excel] Creare Macro

Postdi wallace&gromit » 22/11/13 17:08

riprendo il "consiglio del nonno"
per evitare la formula O(..)
puoi anche scrivere
=SE(E(A2<>"";A3*1<>0));A3*A4*A5;"boh")

in entrambi i casi (valore 0 o cella vuota) moltiplicati per 1 danno 0
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: [Excel] Creare Macro

Postdi ilnonno13 » 22/11/13 17:16

wallace&gromit ha scritto:riprendo il "consiglio del nonno"
per evitare la formula O(..)
puoi anche scrivere
=SE(E(A2<>"";A3*1<>0));A3*A4*A5;"boh")

in entrambi i casi (valore 0 o cella vuota) moltiplicati per 1 danno 0


Carino ;)
S.O. W7; Office 2007
ilnonno13
Utente Junior
 
Post: 22
Iscritto il: 22/11/13 11:48

Re: [Excel] Creare Macro

Postdi Flash30005 » 23/11/13 06:07

Ma perché non usare la funzione "Valore"
Codice: Seleziona tutto
=SE(E(A2<>"";VALORE(A3)<>0);A3*A4*A5;"boh")


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: [Excel] Creare Macro

Postdi Anthony47 » 23/11/13 17:24

Dopo aver letto il quesito dell' utente io non ho capito se (a) A1 puo' assumere solo 3 possibili valori, e qualsiasi valore tra questi 3 da' il via libera alla moltiplicazione, o se (b) A1 puo' assumere N possibili valori di cui solo 3 danno il via libera.
Nel caso (a), in aggiunta alle valide formule gia' suggerite
Codice: Seleziona tutto
=SE((A2<>"")*A3;A3*A4*A5;"boh")

Nel caso (b)
Codice: Seleziona tutto
=SE(E(O(A2="pippo";A2="pluto";A2="paperino");A3<>0);A3*A4*A5;"boh")

Sostituirai pippo, pluto e paperino con le 3 possibilita' buone.

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

Re: [Excel] Creare Macro

Postdi Dr. Tersilli » 25/11/13 15:39

Grazie a tutti.
Ho preso un po' di tutti i vostri suggerimenti ed è uscito fuori quello che intendevo:
=IF(AND(D2="Pippo";F2<>0);F2*E167*F167*G167;"0")

Per rispondere alla domanda di Anthony:
D2 può assumere solo 3 valori ad ognuno dei quali corrisponde un calcolo diverso. Tutto questo va fatto per 6 colonne ed infine tutto va sommato. Spero di riuscire ad estendere la formula. Quindi o posto il risultato oppure tornerò a chiedere aiuto!

Grazie ancora
Dr. Tersilli
Newbie
 
Post: 4
Iscritto il: 22/11/13 15:23

Re: [Excel] Creare Macro

Postdi Dr. Tersilli » 27/11/13 10:45

Ciao,
non sono riuscito ad estendere la seguente formula in modo che se D2 assume valori diversi, allora il foglio esegua calcoli diversi.
=IF(AND(D2="Pippo";F2<>0);F2*E167*F167*G167;"0")

D2 può essere
pippo allora F2*E167*F167*G167;"0"
pluto allora F2*E168*F168*G168;"0"
paperino allora F2*E169*F169*G169;"0"

Il risultato deve apparire sempre nella stessa cella.

Grazie mille
Dr. Tersilli
Newbie
 
Post: 4
Iscritto il: 22/11/13 15:23

Re: [Excel] Creare Macro

Postdi Anthony47 » 27/11/13 13:20

Se la vuoi fare semplice e modulabile all' infinito (o quasi) usi
Codice: Seleziona tutto
=SE(E(D2="Pippo";F2<>0);F2*E167*F167*G167;0)+ SE(E(D2="pluto";F2<>0);F2*E168*F168*G168;0)+ SE(E(D2="Paperino";F2<>0);F2*E169*F169*G169;0)
Cioe' Formula1 + Formula2 + Formula3; nota che ho trasformato, nelle tue formule, il "0" in 0 (senza virgolette; cioe' un valore numerico e non una stringa)

Se la vuoi fare nella logica dell' IF, allora "anniderai" i vari IF:
Codice: Seleziona tutto
=SE(E(D2="Pippo";F2<>0);F2*E167*F167*G167;SE(E(D2="pluto";F2<>0);F2*E168*F168*G168;SE(E(D2="Paperino";F2<>0);F2*E169*F169*G169;0)))


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

Re: [Excel] Creare Macro

Postdi Dr. Tersilli » 28/11/13 15:42

Grazie ancora per il supporto.
La soluzione di sommare vari SE l'avevo già provata ma per il campo "pluto" non funzionava. Quindi pensavo di aver sbagliato qualcosa. Ho riprovato con la tua formula e comunque non funzionava. Quindi dopo aver tentato in vari modi o ridigitato "pluto" e così ha funzionato. Forse nella casella era presente uno spazio in fondo o all'inizio che non ho visto.

Ancora grazie per l'aiuto.

Ciao
Dr. Tersilli
Newbie
 
Post: 4
Iscritto il: 22/11/13 15:23


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Creare Macro":


Chi c’è in linea

Visitano il forum: Nessuno e 49 ospiti