ALLARME SU CELLA DDE



  • ALLARME SU CELLA DDE
    di adrym (utente non iscritto) data: 17/12/2013 14:27:31

    dovrei inserire un allarme sulla cella x se il suo valore viene modificato

    ho provato con questa che ho trovato su questo forum ma funziona solo se la cella viene modificata manualmente, se viene modificata in DDE non succede niente.

    Grazie

     
    -----incolla in un Modulo--------
    Option Explicit
    Private Declare Sub Sleep Lib "kernel32" _
    (ByVal dwMilliseconds As Long)
    
    Public Sub suono()
    Beep
    Sleep 100
    End Sub
    ----------- Fine Modulo----------------------
    Private Sub Worksheet_Change(ByVal Target As Range)
    Set Target = Cells(1, 1)
    If Target >= 10 Then
    suono
    End If
    End Sub



  • di Zer0Kelvin data: 17/12/2013 16:05:59

    Ciao.
    Forse puoi usare l'evento calculate:
     
    Private Declare Sub Sleep Lib "kernel32" _
            (ByVal dwMilliseconds As Long)
    
    Public Sub suono()
        Beep
        Sleep 300
        Beep
        Sleep 300
        Beep
        Sleep 300
    End Sub
    
    '----------------------------------------
    Private Sub Worksheet_Calculate()
        If Me.Cells(1, 1) >= 10 Then suono
    End Sub
    


  • niente non funziona
    di adrym (utente non iscritto) data: 17/12/2013 16:17:35

    non effettua nessun comando anche se si modifica manualmente, a meno che non so scrivere la formula in modo giusto, non sono molto esperto...



  • di Zer0Kelvin data: 17/12/2013 22:21:35

    La subroutine Worksheet_Calculate() deve essere inserita nel codice del foglio interessato, come con Worksheet_Change.



  • di scossa data: 18/12/2013 08:34:26

    h t t p : //msdn.microsoft.com/en-us/library/office/aa202966(v=office.10).aspx


  • purtroppo non ci riesco
    di adrym (utente non iscritto) data: 19/12/2013 10:24:22

    purtroppo non riesco a farla funzionare, se incollo i due codici così come postati non succede niente inserendo un valore >= 10 nella cella A1
    non faccio altro che copiare il codice del modulo nel modulo e quello del foglio nel foglio... devo fare altro?
    Comunque grazie mille per la disponibilità



  • di Zer0Kelvin data: 19/12/2013 12:08:57

    Per il mio codice deve essere abilitato il ricalcolo automatico....


  • calcolo
    di adrym (utente non iscritto) data: 19/12/2013 13:25:32

    in opzioni di excel>formule?
    è impostato calcolo cartella di lavoro > automatico



  • di scossa data: 19/12/2013 15:11:30

    cit. adrym: "... devo fare altro? "

    Potresti leggere il link che ti ho indicato


  • GRAZIEEEEE!!!
    di adrym (utente non iscritto) data: 20/12/2013 13:19:36

    Grazieeee!!! scusami ma non avevo visto la tua risposta! infatti non capivo quale link... :)
    praticamente ora con SetLinkOnData avvia la macro ogni qual volta riceve un dato DDE!

    GRAZIE ANCORA! :D

     
    Private Sub Worksheet_Change(ByVal Target As Range)
    ActiveWorkbook.SetLinkOnData _
        "T3_DDE_SERVER|T3_DDE_QUOTE_TOPIC!", _
        "suono"
    End Sub



  • di scossa data: 20/12/2013 13:46:23

    Secondo me dovresti metterla nell'evento Workbook_Open() anziché nell'evento Worksheet_Change()
     
    Private Sub Workbook_Open()
        ActiveWorkbook.SetLinkOnData _
            "T3_DDE_SERVER|T3_DDE_QUOTE_TOPIC!", _
            "suono"
    End Sub