OT VBA "SETLINKonDATA" una domanda per AZ

Collapse
X
 
  • Ora
  • Show
Clear All
new posts
  • IronMAn
    Senior Member
    • Jun 2010
    • 205

    #1

    OT VBA "SETLINKonDATA" una domanda per AZ

    o a CHI puo rispondermi


    ho impostato questa MACRO Che attivo da un pulsante dal foglio EXCEL
    ---------------------------------------------------------------------------------------------
    Sub TC_2800()
    Range("F31").Select
    ActiveCell.FormulaR1C1 = "2800Call"
    Range("H31").Select
    ActiveCell.FormulaR1C1 = "2800Put"

    ActiveWorkbook.SetLinkOnData "IWDDE|STOCK_PRICE!\'4002687?bestBidPrice\'", "MacroR5"
    ActiveWorkbook.SetLinkOnData "IWDDE|STOCK_PRICE!\'4002687?bestAskPrice\'", "MacroS5"

    ActiveWorkbook.SetLinkOnData "IWDDE|STOCK_PRICE!\'4001795?bestBidPrice\'", "MacroW5"
    ActiveWorkbook.SetLinkOnData "IWDDE|STOCK_PRICE!\'4001795?bestAskPrice\'", "MacroX5"


    End Sub
    Sub MacroR5()
    [[dde_DIC_stoxx.xlsm]Foglio2!D31] = [[dde_DIC_stoxx.xlsm]Foglio2!D31] + 1
    End Sub
    Sub MacroS5()
    [[dde_DIC_stoxx.xlsm]Foglio2!E31] = [[dde_DIC_stoxx.xlsm]Foglio2!E31] + 1
    End Sub
    Sub MacroW5()
    [[dde_DIC_stoxx.xlsm]Foglio2!I31] = [[dde_DIC_stoxx.xlsm]Foglio2!I31] + 1
    End Sub
    Sub MacroX5()
    [[dde_DIC_stoxx.xlsm]Foglio2!J31] = [[dde_DIC_stoxx.xlsm]Foglio2!J31] + 1
    End Sub

    ------------------------------------------------------------------------------------------------------------------


    ora per disattivare quella macro con un altro pulsante
    cosa devo scrivere nelle MACRO "disattivattrice" ?

    In pratica vorrei disattivare il "setlinkondata" perche quando è attivo mi appesantisce la CPU e quindi la voglio attivare solo per un certo periodo di tempo ma purtoppo NON si interrompe se non chiudendo e riaprendo il foglio

    GRAZIE
  • pidi10
    Senior Member
    • Apr 2008
    • 4076

    #2
    Sub TC_2800()

    IF Range("A!").value=1 Then
    Range("F31").Select
    ActiveCell.FormulaR1C1 = "2800Call"
    Range("H31").Select
    ActiveCell.FormulaR1C1 = "2800Put"

    ActiveWorkbook.SetLinkOnData "IWDDE|STOCK_PRICE!\'4002687?bestBidPrice\'", "MacroR5"
    ActiveWorkbook.SetLinkOnData "IWDDE|STOCK_PRICE!\'4002687?bestAskPrice\'", "MacroS5"

    ActiveWorkbook.SetLinkOnData "IWDDE|STOCK_PRICE!\'4001795?bestBidPrice\'", "MacroW5"
    ActiveWorkbook.SetLinkOnData "IWDDE|STOCK_PRICE!\'4001795?bestAskPrice\'", "MacroX5"
    End If

    End Sub

    Poi basta che nella Macro attivatrice scrivi

    Sub AttivaDisattivaTC_2800()
    If Range("A1").value=1 Then
    Range("A1").value=0
    Else
    Range("A1").value=1
    End Sub


    Se vuoi utilizzare un\'altra cella come flag invece di "A1" scrivi la cella che scegli nel foglio che usi

    Comment

    • U.B.
      Senior Member
      • Aug 2008
      • 481

      #3
      Dovrebbe funzionare...
      File Allegati

      Comment

      • IronMAn
        Senior Member
        • Jun 2010
        • 205

        #4
        Originariamente Scritto da pidi10
        Sub TC_2800()

        IF Range("A!").value=1 Then
        Range("F31").Select
        ActiveCell.FormulaR1C1 = "2800Call"
        Range("H31").Select
        ActiveCell.FormulaR1C1 = "2800Put"

        ActiveWorkbook.SetLinkOnData "IWDDE|STOCK_PRICE!\'4002687?bestBidPrice\'", "MacroR5"
        ActiveWorkbook.SetLinkOnData "IWDDE|STOCK_PRICE!\'4002687?bestAskPrice\'", "MacroS5"

        ActiveWorkbook.SetLinkOnData "IWDDE|STOCK_PRICE!\'4001795?bestBidPrice\'", "MacroW5"
        ActiveWorkbook.SetLinkOnData "IWDDE|STOCK_PRICE!\'4001795?bestAskPrice\'", "MacroX5"
        End If

        End Sub

        Poi basta che nella Macro attivatrice scrivi

        Sub AttivaDisattivaTC_2800()
        If Range("A1").value=1 Then
        Range("A1").value=0
        Else
        Range("A1").value=1
        End Sub


        Se vuoi utilizzare un\'altra cella come flag invece di "A1" scrivi la cella che scegli nel foglio che usi

        GRazie PIDI ,
        si aggiungere un controllo interno per far partire la MACRO era un ipotesi che avevo tentato ,ma avevo il dubbio che si fermasse la progressione del conteggio ..ma NON il controllo del DDE .
        Riprovero nuovamente Grazie ancora

        Comment

        • IronMAn
          Senior Member
          • Jun 2010
          • 205

          #5
          Originariamente Scritto da AZ13
          Dovrebbe funzionare...
          mmm penso che dovro aggiungere altri post al thread del VBA :-)

          e si ...eliminando totalmente il collegamento del DDE dal foglio excel Sicuramente il controllo si ferma :-)


          GRAZIE
          Last edited by IronMAn; 07-01-11, 10:16.

          Comment

          • IronMAn
            Senior Member
            • Jun 2010
            • 205

            #6
            AZ ho scritto le MACRO solo che non conta TUTTI i cambiamenti di prezzo
            forse è il loop di controllo interno che fa saltare i controlli del setlinkondata ?
            IN pratica quando il mercato è scambiato si vede il prezzo delle opzioni variare ..ma il conteggio non incrementa
            GRAZIE

            linik
            File Allegati
            Last edited by IronMAn; 07-01-11, 10:03.

            Comment

            • caio
              Junior Member
              • Sep 2009
              • 26

              #7
              Originariamente Scritto da IronMAn
              QUel programma conta solo le variazioni di DDE di cui hai inserito i riferimenti ...non altri

              Quando clicchi su disattiva conta lo stesso ?
              è gia

              cmq quello lo avrei anche risolto mettendo un IF di conferma

              il problema è che una volta confermato l\' IF entra nel contteggio altre variazioni di DDE e proprio non so dove li prende
              visto che ho provato con 1 solo foglio aperto e 1 solo collegamento DDE
              ho baipassato anche la variabile di AZ

              per avere 1 solo DDE anche dentro VB facendo un solo collegamento diretto

              senza nessun risultato

              Comment

              • IronMAn
                Senior Member
                • Jun 2010
                • 205

                #8
                Originariamente Scritto da caio
                è gia

                cmq quello lo avrei anche risolto mettendo un IF di conferma

                il problema è che una volta confermato l\' IF entra nel contteggio altre variazioni di DDE e proprio non so dove li prende
                visto che ho provato con 1 solo foglio aperto e 1 solo collegamento DDE
                ho baipassato anche la variabile di AZ

                per avere 1 solo DDE anche dentro VB facendo un solo collegamento diretto

                senza nessun risultato
                Dovresti provare su un altro pc ...con il file originale . NOn lo sto usando piu ..ma ricordo che quando era DISaattivato NON conteggiava +...
                Quando lo disattivi si cancella il riferimento al DDE quindi NON dovrebbe contare

                Comment

                • caio
                  Junior Member
                  • Sep 2009
                  • 26

                  #9
                  Originariamente Scritto da IronMAn
                  Dovresti provare su un altro pc ...con il file originale . NOn lo sto usando piu ..ma ricordo che quando era DISaattivato NON conteggiava +...
                  Quando lo disattivi si cancella il riferimento al DDE quindi NON dovrebbe contare
                  è proprio quello l\'incredibile

                  Comment

                  Working...