View Full Version : [VBA EXCEL] e Pop up
Ciao a tutti!
Ho inserito sul mio foglio il seguente codice:
Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(5, 10) < 0 Then MsgBox ("Prova")
End Sub
Sulla cella c'è una formula e se si verifica che il valore diventa minore di 0 dovrebbe uscire un pop up con scritto Prova. Dico dovrebbe perché in realtà non esce alcun pop up, ma se manualmente metto un valore minore di zero, allora sì. Cosa sbaglio? Avete qualche suggerimento?
I suggerimenti semplici sono maggiormente graditi. :D
Giusto per precisione, la formula è derivata da una sottrazione di due valori che variano in tempo reale (dati provenienti dai mercati finanziari).
Grazie mille! Ciao!
Non sbagli nulla.
Worksheet_Change() entra in gioco solo su modifica diretta dell'utente.
Per reagire alle Fx, usa Worksheet_Calculate()...
;)
Non sbagli nulla.
Worksheet_Change() entra in gioco solo su modifica diretta dell'utente.
Per reagire alle Fx, usa Worksheet_Calculate()...
;)
Scusami (ma sono un po' ignorante in materia..), ho fatto come dici e mi esce un errore di compilazione "La dichiarazione della routine non corrisponde alla descrizione dell'evento o della routine con lo stesso nome."
Ti scrivo qui di seguito il codice integrale che ho utilizzato.
Private Sub Worksheet_Calculate (ByVal Target As Range)
If Cells(5, 10) < 0 Then MsgBox ("Occhio!")
End Sub
Grazie mille e buona giornata!
Ciao
Worksheet_Calculate() non ha il Target.
Private Sub Worksheet_Calculate()
...
End Sub
;)
Worksheet_Calculate() non ha il Target.
Private Sub Worksheet_Calculate()
...
End Sub
;)
Grazie mille davvero! :muro:
Che tu sappia, c'è la possibilità di creare come evento la spedizione di una e-mail da Excel con il VBA?
E' complicato?
Devo usare necessariamente Outlook?
Grazie anticipatamente per l'attenzione!
Ciao
Credo di avere già risposto ad una domanda del genere su questo Forum.
Prova a scartabellare... Ma penso che alla fine si arrivò alla conclusione che l'unica era appoggiarsi ad OutLook. Personalmente non ho mai inviato mail con VBA, anche a causa di questa limitazione... ;)
Rigrazie mille! Condivido!
Ciao
Scusa per la domanda, forse un po' "stupida", sai mica se sia normale che il pop up non compaia sopra tutte le finestre che ho aperte ma che per vederlo debba andare sul foglio xls medesimo? C'è un modo per farlo comparire su qualsiasi cosa io abbia aperto in quel momento e qualsiasi cosa stia facendo?
Grazie e buona serata!
Scusa per la domanda, forse un po' "stupida", sai mica se sia normale che il pop up non compaia sopra tutte le finestre che ho aperte ma che per vederlo debba andare sul foglio xls medesimo? C'è un modo per farlo comparire su qualsiasi cosa io abbia aperto in quel momento e qualsiasi cosa stia facendo?
Grazie e buona serata!
No. Se Excel passa in secondo piano tutte le sue finestre e sotto-finestre se ne vanno via con lui...
Grazie per la celerità della risposta!
Buona serata!
Max
devi avere il servizio Messenger attivo (non msn...proprio il servizio windows :D)
e puoi usare una cosa del genere
Sub NOTIFY_Click()
Set objShell = CreateObject("WScript.Shell")
objShell.Run "net send " & Environ("UserName") & " " & "ciao", 0
End Sub
devi avere il servizio Messenger attivo (non msn...proprio il servizio windows :D)
e puoi usare una cosa del genere
Sub NOTIFY_Click()
Set objShell = CreateObject("WScript.Shell")
objShell.Run "net send " & Environ("UserName") & " " & "ciao", 0
End Sub
Uh. :D
Ma che roba è ?!
Uh. :D
Ma che roba è ?!
che ne so :) scopiazzato da internet...
ti manda un netsend alla vecchia maniera :D
che ne so :) scopiazzato da internet...
ti manda un netsend alla vecchia maniera :D
Cioè, spiegami, è una risposta su come mandare un popup da Excel mentre è in secondo piano ?
Quindi fai mandare da Excel una MsgBox passando per net send ?
No, ma sul serio, non è una critica. Se funziona è davvero geniale. :D
:hic: :idea:
Cioè, spiegami, è una risposta su come mandare un popup da Excel mentre è in secondo piano ?
Quindi fai mandare da Excel una MsgBox passando per net send ?
No, ma sul serio, non è una critica. Se funziona è davvero geniale. :D
:hic: :idea:
esatto :)
il netsend ti compare sopra a qualsiasi cosaanche se hai excel iconizzato sotto...questo ti compare e ti rimane davanti finchè nn ci clicchi sopra :)
esatto :)
il netsend ti compare sopra a qualsiasi cosaanche se hai excel iconizzato sotto...questo ti compare e ti rimane davanti finchè nn ci clicchi sopra :)
Bisognerebbe provarlo in una procedura OnTime(), sennò come faccio ad interagire con il WorkBook se non è accessibile ?
Cmq lo provo appena posso... ;)
Bisognerebbe provarlo in una procedura OnTime(), sennò come faccio ad interagire con il WorkBook se non è accessibile ?
Cmq lo provo appena posso... ;)
Sub NOTIFY_Click()
Set objShell = CreateObject("WScript.Shell")
For Count = 1 To 20000
If Count = 20000 Then
objShell.Run "net send " & Environ("UserName") & " " & "miii sono a " & Count , 0
Else
Range("a1").Value = Count
End If
Next Count
End Sub
ho fatto una piccola modifica :)
lancia il tutto e poi iconizza :D
Sarà dura "iconizzare" con quel contatore a palla... :p
Dim objShell As Object
Set objShell = CreateObject("WScript.Shell")
Application.WindowState = xlMinimized
Application.Wait DateAdd("s", 2, Now)
objShell.Run "net send " & Environ("UserName") & " " & "MESSAGGIO", 0
:D ;)
Sarà dura "iconizzare" con quel contatore a palla... :p
Dim objShell As Object
Set objShell = CreateObject("WScript.Shell")
Application.WindowState = xlMinimized
Application.Wait DateAdd("s", 2, Now)
objShell.Run "net send " & Environ("UserName") & " " & "MESSAGGIO", 0
:D ;)
schiaccia su show desktop e vedi che va tutto giù :)
http://img.brothersoft.com/icon/softimage/s/show_desktop_alternative-192633.jpeg
schiaccia su show desktop e vedi che va tutto giù :)
http://img.brothersoft.com/icon/softimage/s/show_desktop_alternative-192633.jpeg
Si ? E se uno non c'ha lo "Show Desktop", perchè non visualizza la barra dell'Avvio Veloce ?
Eh eh, a quanto sono pignolo... :cool: :D
E comunque simulare la Sleep() con un contatore cella, dai...
Oltre ad Application.Wait(), si può avere la Sleep anche in VBA con :
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
;)
Si ? E se uno non c'ha lo "Show Desktop", perchè non visualizza la barra dell'Avvio Veloce ?
Eh eh, a quanto sono pignolo... :cool: :D
E comunque simulare la Sleep() con un contatore cella, dai...
Oltre ad Application.Wait(), si può avere la Sleep anche in VBA con :
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
;)
se nn c'hai la barra avvio veloce....sei LENTO :D:D
schiaccia WIN+D e vedi che va tutto giù :D
se nn hai il tastino windows azzi tuoi :D
se nn hai il tastino D...hai qualche problema :D
se nn c'hai la barra avvio veloce....sei LENTO :D:D
schiaccia WIN+D e vedi che va tutto giù :D
se nn hai il tastino windows azzi tuoi :D
se nn hai il tastino D...hai qualche problema :D
Ma lo sai quanti utonti ci sono là fuori ?
E se io non so che Win+D mi fa vedere il DeskTop ?
Lo vedi, io non vorrei mai essere cliente di uno che tratta così la gente... :cool:
Ma lo sai quanti utonti ci sono là fuori ?
E se io non so che Win+D mi fa vedere il DeskTop ?
Lo vedi, io non vorrei mai essere cliente di uno che tratta così la gente... :cool:
io lo so che nn sei utonto :D
io so i clienti con cui tratto :D
se eri utonto ti scrivevo questo
Sub NOTIFY_Click()
Set objShell = CreateObject("WScript.Shell")
CreateObject("Shell.Application").MinimizeAll
For Count = 1 To 20000
If Count = 20000 Then
objShell.Run "net send " & Environ("UserName") & " " & "miii sono a " & Count, 0
Else
Range("a1").Value = Count
End If
Next Count
End Sub
:D
Non so, continuo a preferire la mia soluzione con Wait(), ma lo spunto è davvero originale, te ne do atto. :)
Non so, continuo a preferire la mia soluzione con Wait(), ma lo spunto è davvero originale, te ne do atto. :)
beh il bello è confrontarsi :D
tanto lo so che da te c'è sempre da imparare ;)
beh il bello è confrontarsi :D
tanto lo so che da te c'è sempre da imparare ;)
Assolutamente d'accordo - sul fatto che da me ci sia sempre da imparare - ovviamente... :D :p :D
Comunque quella del net send e del tasto Win+D ancora non la sapevo.
Dico sul serio. Una vita che uso Windows e mai fatto Win+D !
Domani passerò le prime ore della giornata solo a fare Win+D. :fagiano:
Che tristezza... :(
No, è che mi mancano pochi post a quota 3000... :cincin: :rotfl:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.