-
05-01-11, 19:50 #1
- Data Registrazione
- Jun 2010
- Messaggi
- 205
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
-
05-01-11, 23:52 #2
- Data Registrazione
- Apr 2008
- Messaggi
- 4,076
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
-
06-01-11, 12:10 #3
- Data Registrazione
- Aug 2008
- Messaggi
- 481
Dovrebbe funzionare...
-
06-01-11, 16:17 #4
- Data Registrazione
- Jun 2010
- Messaggi
- 205
-
06-01-11, 16:21 #5
- Data Registrazione
- Jun 2010
- Messaggi
- 205
-
07-01-11, 09:58 #6
- Data Registrazione
- Jun 2010
- Messaggi
- 205
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
http://www.filedropper.com/tickcountazUltima modifica di IronMAn; 07-01-11 alle 10:03
-
19-01-11, 19:47 #7
- Data Registrazione
- Sep 2009
- Messaggi
- 26
è 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
-
20-01-11, 09:27 #8
- Data Registrazione
- Jun 2010
- Messaggi
- 205
-
20-01-11, 14:34 #9
- Data Registrazione
- Sep 2009
- Messaggi
- 26