Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR ha finalmente lanciato il suo nuovo flagship: Magic 8 Pro. Lo abbiamo provato a fondo in queste settimane e ve lo raccontiamo nella nostra recensione completa. HONOR rimane fedele alle linee della versione precedente, aggiungendo però un nuovo tasto dedicato all'AI. Ma è al suo interno che c'è la vera rivoluzione grazie al nuovo Snapdragon 8 Elite Gen 5 e alla nuova MagicOS 10
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Le webcam Insta360 Link 2 Pro e Link 2C Pro sono una proposta di fascia alta per chi cerca qualità 4K e tracciamento automatico del soggetto senza ricorrere a configurazioni complesse. Entrambi i modelli condividono sensore, ottiche e funzionalità audio avanzate, differenziandosi per il sistema di tracciamento: gimbal a due assi sul modello Link 2 Pro, soluzione digitale sul 2C Pro
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70 porta il concetto di smartphone ultrasottile su un terreno più concreto e accessibile: abbina uno spessore sotto i 6 mm a una batteria di capacità relativamente elevata, un display pOLED da 6,7 pollici e un comparto fotografico triplo da 50 MP. Non punta ai record di potenza, ma si configura come alternativa più pragmatica rispetto ai modelli sottili più costosi di Samsung e Apple
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-02-2010, 11:25   #1
MARCOS_32
Senior Member
 
Iscritto dal: Jun 2007
Messaggi: 827
[excel] popup o effetto sonoro, se il valore cella è >0

ciao ragazzi!
vi scrivo perchè dopo ore di ricerca su google, ancora non ho trovato quello che mi serve.

vengo subito al dunque:
ho diciamo 10 celle di excel contenenti formule che calcolano un valore in base a tutta una serie di dati.
quando una di queste celle assume un valore maggiore di zero, vorrei che comparisse un popup, o in alternativa, venisse eseguito un suono.

Se tutte le 10 celle sono >0 allora appariranno 10 popup

se 5 celle sono >0, allora appariranno 5 popup (e così via)

di "funzioni" in vba che fanno quello che cerco ne ho trovate tante..

il problema che le accomuna è che, se una delle 10 celle è >0, modificando una qualsiasi cella del foglio, il popup appare in continuazione; ovvero

cella a1 >0 (è una delle 10)
appare popup (e fin qui è tutto ok)

se poi vado a scrivere un valore nella B55 (cella a caso), ricompare il popup(e qui non va bene)

se scrivo nella D64 ricompare
se scrivo nella G33 ricompare

e via dicendo...

io invece voglio che il popup compaia SOLO se la cella interessata viene modificata...
mi sono spiegato?



grazie in anticipo

p.s.
escludete la formattazione condizionale, poichè è gia implementata...ma non è sufficiente
MARCOS_32 è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2010, 13:28   #2
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Puoi tenere traccia solo della prima volta in cui le celle nell'intervallo desiderato ( nell'esempio "A1:A10" ) cambiano da >0 a <0, ad esempio impostando e poi leggendo la proprietà ID delle celle stesse.

Nell'esempio che ti faccio qui ho 10 celle, appunto, da A1 a A10. Queste celle, come nel tuo caso, contengono formule che calcolano una differenza tra 2 interi ( che ho messo su altre 2 colonne... ), quindi mi appoggio all'evento Worksheet_Calculate() del Foglio1 :

Codice:
Private Sub Worksheet_Calculate()

    Dim R As Range
    For Each R In Sheets("Foglio1").Range("A1:A10")
        If R.Value > 0 Then
            R.ID = ">0"
        Else
            If R.ID = ">0" Then MsgBox R.Address & " <0 !" 'Pop-Up
            R.ID = "<0"
        End If
    Next R

End Sub
In questo modo il pop-up scatta solo se precedentemente l'ID della cella esaminata era ">0", e poi modifica l'ID stesso in modo che l'alert non venga ripetuto all'infinito...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2010, 10:14   #3
MARCOS_32
Senior Member
 
Iscritto dal: Jun 2007
Messaggi: 827
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Puoi tenere traccia solo della prima volta in cui le celle nell'intervallo desiderato ( nell'esempio "A1:A10" ) cambiano da >0 a <0, ad esempio impostando e poi leggendo la proprietà ID delle celle stesse.

Nell'esempio che ti faccio qui ho 10 celle, appunto, da A1 a A10. Queste celle, come nel tuo caso, contengono formule che calcolano una differenza tra 2 interi ( che ho messo su altre 2 colonne... ), quindi mi appoggio all'evento Worksheet_Calculate() del Foglio1 :

Codice:
Private Sub Worksheet_Calculate()

    Dim R As Range
    For Each R In Sheets("Foglio1").Range("A1:A10")
        If R.Value > 0 Then
            R.ID = ">0"
        Else
            If R.ID = ">0" Then MsgBox R.Address & " <0 !" 'Pop-Up
            R.ID = "<0"
        End If
    Next R

End Sub
In questo modo il pop-up scatta solo se precedentemente l'ID della cella esaminata era ">0", e poi modifica l'ID stesso in modo che l'alert non venga ripetuto all'infinito...
Ciao!
prima di tutto grazie per la risposta...

ho provato il codice...ma non funziona come volevo...

ovvero, come dicevi tu, segnala solo il primo cambiamento....mentre a me serve che ad ogni cambiamento del valore della cella, appaia un pop-up.
Ma sopprattutto, mi interessa che scatti il pop-up solo se il valore della cella è maggiore o uguale al valore di un'altra cella.

Che tu sappia non è possibile?

Ultima modifica di MARCOS_32 : 05-02-2010 alle 10:25.
MARCOS_32 è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2010, 10:55   #4
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da MARCOS_32 Guarda i messaggi
....mentre a me serve che ad ogni cambiamento del valore della cella, appaia un pop-up.
Ma sopprattutto, mi interessa che scatti il pop-up solo se il valore della cella è maggiore o uguale al valore di un'altra cella.
Semplice. Mettiamo che sia B1 la cella con il valore da confrontare :

Codice:
Private Sub Worksheet_Calculate()

    Dim valoreConfronto As Variant
    valoreConfronto = Sheets("Foglio1").Range("B1").Value
    Dim R As Range
    For Each R In Sheets("Foglio1").Range("A1:A10")
        If R.Value >= valoreConfronto And R.ID <> R.Text Then MsgBox R.Address & " Rilevato." 'Pop-Up
        R.ID = R.Text
    Next R

End Sub
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 08-02-2010, 09:09   #5
MARCOS_32
Senior Member
 
Iscritto dal: Jun 2007
Messaggi: 827
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Semplice. Mettiamo che sia B1 la cella con il valore da confrontare :

Codice:
Private Sub Worksheet_Calculate()

    Dim valoreConfronto As Variant
    valoreConfronto = Sheets("Foglio1").Range("B1").Value
    Dim R As Range
    For Each R In Sheets("Foglio1").Range("A1:A10")
        If R.Value >= valoreConfronto And R.ID <> R.Text Then MsgBox R.Address & " Rilevato." 'Pop-Up
        R.ID = R.Text
    Next R

End Sub





GRAZIEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE (mi limito a 36 "E" per non essere bannato per spam, in realtà ne vorrei mettere molte di più)


Era esattissimamente quello che cercavo!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


mi hai salvato dalla disperazione


grazie ancora!!
MARCOS_32 è offline   Rispondi citando il messaggio o parte di esso
Old 08-02-2010, 10:02   #6
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da MARCOS_32 Guarda i messaggi
GRAZIEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE (mi limito a 36 "E" per non essere bannato per spam, in realtà ne vorrei mettere molte di più)


Era esattissimamente quello che cercavo!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


mi hai salvato dalla disperazione


grazie ancora!!
Eh eh, , non c'è come spiegarsi chiaro...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 05-03-2010, 10:25   #7
MARCOS_32
Senior Member
 
Iscritto dal: Jun 2007
Messaggi: 827
ehi ciao!
ascolta avrei un piccolo problemino:
il file di excel integra una macro, che a quanto pare va in conflitto col tuo codice.
mi da un errore di runtime (errore 13) quando eseguo la macro.
la macro sostanzialmente è un bottone che permette di inserire dei dati in una tabella.

se serve ti posso passare il file con la macro.

puoi aiutarmi? te ne sarei infinitamente grato :P
MARCOS_32 è offline   Rispondi citando il messaggio o parte di esso
Old 10-03-2010, 10:29   #8
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Se è un conflitto, puoi risolvere sostanzialmente in 2 modi :

1. "On Error Resume Next" sul mio codice...

2. Usa una variabile di controllo Boolean. Sarà True per tutta la durata della tua routine, e mentre è True, il mio codice, opportunamente modificato allo scopo, non produrrà effetti. Come ultima istruzione sul tuo pulsante la setti a False...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 12-03-2010, 19:42   #9
MARCOS_32
Senior Member
 
Iscritto dal: Jun 2007
Messaggi: 827
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Se è un conflitto, puoi risolvere sostanzialmente in 2 modi :

1. "On Error Resume Next" sul mio codice...

2. Usa una variabile di controllo Boolean. Sarà True per tutta la durata della tua routine, e mentre è True, il mio codice, opportunamente modificato allo scopo, non produrrà effetti. Come ultima istruzione sul tuo pulsante la setti a False...
intanto grazie mille per la risposta

1) non funziona...ho provato a metterlo in svariate posizioni ma non risolve il problema

2) non ho la più pallida idea di come iniziare :P. ho googlato un attimo ed ho trovato il come creare la variabile booleana e setterla in true...ma modificare il tuo codice e fare convivere tutto con la macro non so proprio da che parte girarmi :P



per quanto riguarda invece un effetto sonoro?
cioè al posto del popup viene eseguito un suono...magari da meno problemi... (mi va bene sia un beep sia un suono che ho sul pc..)

ho trovato diversi codici, ma quei pochi che funzionano, fanno emettere il suono OGNI volta che viene modificata una QUALSIASI cella...cosa chiaramente assurda...

sostanzialmente deve fare la stessa identica cosa del tuo codice, ma col suono....magari dico una cavolata, ma potrebbe essere meno problematico....



grazie anticipatamente
MARCOS_32 è offline   Rispondi citando il messaggio o parte di esso
Old 13-03-2010, 14:02   #10
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da MARCOS_32 Guarda i messaggi
2) non ho la più pallida idea di come iniziare :P. ho googlato un attimo ed ho trovato il come creare la variabile booleana e setterla in true...ma modificare il tuo codice e fare convivere tutto con la macro non so proprio da che parte girarmi :P
Era semplicissimo. Qualcosa come :

Codice:
Private calcola As Boolean

Private Sub CommandButton1_Click()

    calcola = False
    
    'Routine pulsante
    '...
    
    calcola = True

End Sub

Private Sub Worksheet_Calculate()

    If calcola = False Then Exit Sub

    Dim valoreConfronto As Variant
    valoreConfronto = Sheets("Foglio1").Range("B1").Value
    Dim R As Range
    For Each R In Sheets("Foglio1").Range("A1:A10")
        If R.Value >= valoreConfronto And R.ID <> R.Text Then MsgBox R.Address & " Rilevato." 'Pop-Up
        R.ID = R.Text
    Next R

End Sub
In questo modo potevi inibire tutto quanto sta in Worksheet_Calculate() per tutta la durata dell'esecuzione della routine-pulsante, e ripristinarlo subito dopo il termine della stessa...

Quote:
Originariamente inviato da MARCOS_32 Guarda i messaggi
per quanto riguarda invece un effetto sonoro?
cioè al posto del popup viene eseguito un suono...magari da meno problemi... (mi va bene sia un beep sia un suono che ho sul pc..)

ho trovato diversi codici, ma quei pochi che funzionano, fanno emettere il suono OGNI volta che viene modificata una QUALSIASI cella...cosa chiaramente assurda...

sostanzialmente deve fare la stessa identica cosa del tuo codice, ma col suono....magari dico una cavolata, ma potrebbe essere meno problematico....
Basta che ti limiti a sostituire solo la parte in cui mostri la MsgBox. Ad esempio, uno dei tanti modi per riprodurre un file sonoro, mettiamo un .wav :

> Dichiarazione API :
Codice:
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
> Codice precedente modificato :
Codice:
Private Sub Worksheet_Calculate()

    Dim valoreConfronto As Variant
    valoreConfronto = Sheets("Foglio1").Range("B1").Value
    Dim R As Range
    For Each R In Sheets("Foglio1").Range("A1:A10")
        If R.Value >= valoreConfronto And R.ID <> R.Text Then sndPlaySound "C:\suono.wav", 1 'Suono
        R.ID = R.Text
    Next R

End Sub
Con il secondo parametro a "1" su [ sndPlaySound "C:\suono.wav", 1 ], dovrebbe riprodurre il suono in modo asincrono, quindi non interferendo con l'esecuzione di altro eventuale codice VBA...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2010, 13:22   #11
MARCOS_32
Senior Member
 
Iscritto dal: Jun 2007
Messaggi: 827
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Era semplicissimo. Qualcosa come :


In questo modo potevi inibire tutto quanto sta in Worksheet_Calculate() per tutta la durata dell'esecuzione della routine-pulsante, e ripristinarlo subito dopo il termine della stessa...

il bello è che te ne vieni fuori con un "era semplicissimo"

comunque sia ti ringrazio moltissimo, stassera massimo domani provo e ti faccio sapere
MARCOS_32 è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2010, 18:37   #12
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da MARCOS_32 Guarda i messaggi
il bello è che te ne vieni fuori con un "era semplicissimo"
Beh, dai, niente di che, oggettivamente...

Aggiungo anche un utilizzo ancora più semplice con la funzione Beep, che non richiede alcuna dichiarazione API :

Codice:
Private Sub Worksheet_Calculate()

    Dim valoreConfronto As Variant
    valoreConfronto = Sheets("Foglio1").Range("B1").Value
    Dim R As Range
    For Each R In Sheets("Foglio1").Range("A1:A10")
        If R.Value >= valoreConfronto And R.ID <> R.Text Then Beep 'Beep base di Windows
        R.ID = R.Text
    Next R

End Sub
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2010, 15:32   #13
oruam097
Junior Member
 
Iscritto dal: Apr 2010
Messaggi: 5
ciao marcogg

di macro e vb non so praticamente nulla e gli ultimi post per me sono arabo.
stavo invece provando a mettere su excel il post del 4/02 delle 13.28 ed ieri in serata mi era anceh riuscito, ma ora non so perchè non sono più in grado.
in pratica faccio così:
dalle celle a1 fino ad a10 ho messo la formula a1= b1-c1 ; a2=b2-c2 e così via.
a quel punto vado su strumenti-macro-vb editor. copio il tuo posto poi salvo e chiudo excel. al riavvio mi chiede se voglio attivare macro, dico di si, ma quando i dati in a1:a10 dovrebbero modificarsi in modo tale da lanciare la pop up, questa popup non compare.
inoltre se nello stesso programma volessi fare una seconda macro che verifica le celle a11:a20, su parametri diversi dalla prima macro, come si potrebbe fare?
grazie mille per ogni risposta e/o suggerimento
oruam097 è offline   Rispondi citando il messaggio o parte di esso
Old 06-04-2010, 10:58   #14
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da oruam097 Guarda i messaggi
ciao marcogg

di macro e vb non so praticamente nulla e gli ultimi post per me sono arabo.
stavo invece provando a mettere su excel il post del 4/02 delle 13.28 ed ieri in serata mi era anceh riuscito, ma ora non so perchè non sono più in grado.
in pratica faccio così:
dalle celle a1 fino ad a10 ho messo la formula a1= b1-c1 ; a2=b2-c2 e così via.
a quel punto vado su strumenti-macro-vb editor. copio il tuo posto poi salvo e chiudo excel. al riavvio mi chiede se voglio attivare macro, dico di si, ma quando i dati in a1:a10 dovrebbero modificarsi in modo tale da lanciare la pop up, questa popup non compare.
Dipende da come vengono modificati i dati nelle celle soggette a controllo. L'evento Calculate è relativo al foglio. Se non interviene almeno una modifica manuale al contenuto di una cella di quel foglio, l'evento Calculate non viene scatenato. Non conoscendo l'insieme di operazioni che stanno a monte, nel tuo caso, non posso essere più preciso...

Quote:
Originariamente inviato da oruam097 Guarda i messaggi
inoltre se nello stesso programma volessi fare una seconda macro che verifica le celle a11:a20, su parametri diversi dalla prima macro, come si potrebbe fare?
grazie mille per ogni risposta e/o suggerimento
Ad esempio così :
Codice:
Private Sub Worksheet_Calculate()

    '...
    '...	
    Dim R As Range
    For Each R In Sheets("Foglio1").Range("A1:A10")
        If [CONDIZIONE = TRUE] And R.ID <> R.Text Then MsgBox R.Address & " Rilevato." 'Pop-Up
        R.ID = R.Text
    Next R
    For Each R In Sheets("Foglio1").Range("A11:A20")
        If [CONDIZIONE = TRUE] And R.ID <> R.Text Then MsgBox R.Address & " Rilevato." 'Pop-Up
        R.ID = R.Text
    Next R
    '...

End Sub
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 07-04-2010, 12:30   #15
oruam097
Junior Member
 
Iscritto dal: Apr 2010
Messaggi: 5
ciao marcoGG
grazie mille per la risposta.

in pratica quello che faccio è questo:
vado su macro, scrivo il nome della macro e poi clicco su crea
a quel punto scrivo:
sub macro777_Calculate()

Dim R As Range
For Each R In Sheets("Foglio1").Range("A1:A10")
If R.Value > 0 Then
R.ID = ">0"
Else
If R.ID = ">0" Then MsgBox R.Address & " <0 !" 'Pop-Up
R.ID = "<0"
End If
Next R

End Sub

ora se la cella a1 da positiva diventa negativa, io clicco su alt+f8 poi dò invio dalla tastiera e compare la pop up. io però vorrei che comparisse in automatico al verificarsi di quanto previsto nella macro.
penso dipenda dal fatto ceh tu hai scritto la macro preceduta da PRIVATE.
se per faccio la stessa cosa io, non ritrovo la macro appena creata. è come se non l'avesse salvata. metto tutto nella finestra di visual basic , chiudo il file excel salvandolo, ma poi riapro, faccio in modo che ad esempio, la cella a1 diventi negativa , ma non vedo la pop up. può essere o salto qualcosa di cui non mi rendoconto?

per quanto riguarda il tuo esempio di più macro in una, in pratica se si verifica .la condizione nella cella a1 e poi nella a11 mi compaiono comunque due popup per ciascun evento? allo stesso modo se si verificasse prima nella a11 e poi nella a1?

grazie mille per la risposta, sei stato gentilissimo , un pò di dimestichezza con excel ce l'ho, ma macro e vb sinceramente ne so meno di zero.
spero tu possa essermi anche questa volta di aiuto
buona giornata
oruam097 è offline   Rispondi citando il messaggio o parte di esso
Old 07-04-2010, 13:53   #16
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da oruam097 Guarda i messaggi
in pratica quello che faccio è questo:
vado su macro, scrivo il nome della macro e poi clicco su crea
a quel punto scrivo:
sub macro777_Calculate()

Dim R As Range
For Each R In Sheets("Foglio1").Range("A1:A10")
If R.Value > 0 Then
R.ID = ">0"
Else
If R.ID = ">0" Then MsgBox R.Address & " <0 !" 'Pop-Up
R.ID = "<0"
End If
Next R

End Sub

...
No. Non ci siamo.
Se crei una Sub "sub macro777_Calculate()", VBA la interpreta come una qualsiasi subroutine, che perciò è slegata dagli eventi predefiniti del WorkSheet. In pratica quel codice non partirà mai in automatico, al verificarsi di un particolare evento, ma solo su esecuzione esplicitamente chiamata dall'utente. Che poi tu ci metta il suffisso _Calculate() non conta nulla.

A questo punto i casi sono 2 :

1. Se, come nel caso dell'utente MARCOS_32, le celle nel Range di studio ( A1:A10 ) contengono Formule ( NON dati puri ) che cambiano valore in risposta ad operazioni che l'utente esegue direttamente sul WorkBook ( il che significa NON per via programmatica ), allora scatta l'evento _Calculate() del Foglio.
In quel caso il tuo codice va messo sotto Private Sub Worksheet_Calculate() :
Codice:
Private Sub Worksheet_Calculate()

    Dim R As Range
    For Each R In Sheets("Foglio1").Range("A1:A10")
        If R.Value > 0 Then
            R.ID = ">0"
        Else
            If R.ID = ">0" Then MsgBox R.Address & " <0 !" 'Pop-Up
            R.ID = "<0"
        End If
    Next R

End Sub
2. Se invece le celle nel Range di studio ( A1:A10 ) contengono dati puri che cambiano valore sempre in risposta ad operazioni dirette dell'utente, allora Calculate() non scatta più, e dovrai usare Private Sub Worksheet_Change(ByVal Target As Range).

Credo di essere stato chiaro, a livello di manuale direi...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2010, 07:52   #17
oruam097
Junior Member
 
Iscritto dal: Apr 2010
Messaggi: 5
ciao MarcoGG

sei stato chiarissimo, però io non riesco ad aver questa benedetta macro
se vado su macro devo mettere un nome che voglio dare alla macro.
diciamo che voglio chiamarla macro1. la macro la metto in tutte le cartelle di lavoro.
a quel punto si attiva il tasto crea. clicco su crea e si apre vb.
all'interno scrivo:
Private Sub Worksheet_Calculate()

Dim R As Range
For Each R In Sheets("Foglio1").Range("A1:A10")
If R.Value > 0 Then
R.ID = ">0"
Else
If R.ID = ">0" Then MsgBox R.Address & " <0 !" 'Pop-Up
R.ID = "<0"
End If
Next R

End Sub
a questo punto salvo il foglio excel e lo riapro, ma la macro non esiste.
se invece scrivo:
sub macro777_Calculate()

Dim R As Range
For Each R In Sheets("Foglio1").Range("A1:A10")
If R.Value > 0 Then
R.ID = ">0"
Else
If R.ID = ">0" Then MsgBox R.Address & " <0 !" 'Pop-Up
R.ID = "<0"
End If
Next R

End Sub
allora la macro c'è, ma non lancia la pop up in automatico , ma solo con la combinazione alt+f8 - invio.

tu sei stato perfetto , ma essermi rincretinito d'un botto.....cosa è che sbaglio?
riesci a darmi una dritta ulteriore ?
grazie mille, ciao
oruam097 è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2010, 09:38   #18
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Lascia perdere la creazione guidata delle Macro. Entra direttamente nell'editor di codice di VBA e scrivi nel foglio di codice associato a Foglio1.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2010, 10:25   #19
oruam097
Junior Member
 
Iscritto dal: Apr 2010
Messaggi: 5
di te so solo il nickname,
ma per oggi e tutto il fine settimana sei la mia divinità
GRAZIEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE

p.s. a questo punto fatta una pop up devo riuscirne a metterne altre.
se dovessi avere difficoltà ovviamente sai che tornerò a romperti le scatole.


HAVE A NICE DAY
oruam097 è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2010, 11:55   #20
MARCOS_32
Senior Member
 
Iscritto dal: Jun 2007
Messaggi: 827
MarcoGG hai un pm
MARCOS_32 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
Le novità ASUS per il 2026 nel settore dei PC desktop Le novità ASUS per il 2026 nel settore de...
Steam Machine: requisiti Verified piu' s...
NVIDIA GeForce RTX 5070 Ti fuori produzi...
Sony ha annunciato i nuovi giochi che en...
IBM Sovereign Core: la sovranità ...
Cerchi un'asciugatrice conveniente su Am...
Ayaneo Pocket Play arriverà in ri...
iPad Pro 11'' con chip M4 scende a 949€ ...
The Sims entra in una nuova era, ma l'ac...
Netflix, Disney o Prime Video: qual &egr...
Perplexity blocca la generazione di imma...
Iliad rilancia Giga 200 e Giga 250 al po...
Apre un nuovo hub di ricarica Electra pr...
Windows 11, il primo aggiornamento del 2...
L'odiata interfaccia utente di Windows 8...
Apple, Xiaomi, Motorola, Google e vivo: ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:54.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v