Questione : Funzione di Excel VBA Bloomberg

Im che prova a scrivere una macro semplice in moda da potere incollare il codice la formula del bloomberg BDS nel manuale. Tutto funziona benissimo ma quando mi apro i xls nell'adjunta del bloomberg eccellono, devo premere il F2 ed entrare in ogni cellula prima della formula di BDS attivata per i dati di caricamento di programmi oggetto. Chiunque sa risolvere questo problema? il

del

Sub Macro1 () ActiveSheet.Name = “Result1 "
per i = 1 a 51

riveste (“conduttura„). Gamma di Select
(“D„ & 13 + i). Strati di Select
Selection.Copy
(“Result1„). Gamma di Select
(“A1„). Cellule di Select
(1, 5 * (i - 1) + colla del
ActiveSheet.Paste
Selection.PasteSpecial di 1).Select
: =xlPasteValues, funzionamento: =xlNone, _
di SkipBlanks: Il =False, traspone: gamma del
del
del =False
(“A2„). Cellule di Select
(2, 5 * (i - 1) + 1).Select
ActiveCell.FormulaR1C1 = gamma del

“di OPT_CHAIN " (“A3„). Cellule di Select
(3, 5 * (i - 1) + 1).Select
ActiveCell.FormulaR1C1 = “gamma seguente del
del

del
Sub Macro2 di Sub
di conclusione del i
del
del
del =BDS (R1C, R2C) “() (“B2„). Select
ActiveCell.FormulaR1C1 = gamma del
del
“di PX_MID " (“B3„). Select
ActiveCell.FormulaR1C1 = “gamma del
del =BDP (R [0] C [- 1], R2C) “(“B3„). Gamma di Select
Selection.Copy
(“B4: B2002„). Gamma di Select
ActiveSheet.Paste
(“C2„). Select
ActiveCell.FormulaR1C1 = gamma del
“del VOLUME " (“C3„). Select
ActiveCell.FormulaR1C1 = “gamma del
del =BDP (R [0] C [- 2], R2C) “(“C3„). Destinazione di Select
Selection.AutoFill: =Range (“C3: Gamma del
di C2002„) (“D2„). Select
ActiveCell.FormulaR1C1 = gamma del
“di OPT_DELTA " (“D3„). Select
ActiveCell.FormulaR1C1 = “gamma del
del =BDP (R [0] C [- 3], R2C) “(“D3„). Destinazione di Select
Selection.AutoFill: =Range (“D3: Gamma del
di D2002„) (“E2„). Select
ActiveCell.FormulaR1C1 = gamma del
“di OPEN_INT " (“E3„). Select
ActiveCell.FormulaR1C1 = “gamma del
del =BDP (R [0] C [- 4], R2C) “(“E3„). Destinazione di Select
Selection.AutoFill: =Range (“E3: Gamma del
di E2002„) (“B2: E2„). Gamma di Select
(selezione, Selection.End (xlDown)). Select
Application.CutCopyMode = False
Selection.Copy
per J = 1 alle cellule di 49
(2, 5 * J + estremità seguente Sub
del j
di 2).Select
ActiveSheet.Paste
class= del

Risposta : Funzione di Excel VBA Bloomberg

y338,

Il codice sotto è un'edizione ridotta di che cosa avete fornito. Non ci è necessità di utilizzare “prescelto„ in VBA, invece semplicemente assegna i valori direttamente alla destinazione required.

Penso che il motivo voi sia abbia problemi sia che non avete ottenuto un riferimento al Bloomberg addizionale nel vostro codice di VBA. Avrete bisogno di qualcosa di simile nella vostra macro di VBA:

Application.AddIns.Add “add-in_filename qui„

O assicurar più semplicemente che abbiate nel menu principale di Excel, andato agli attrezzi/Aggiungere-Istituto centrale di statistica e controllato/ha fatto tic tac “il Bloomberg„ addizionale.

Patrick
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
Macro1 secondari ()
Oscurare la i come lungamente
    Per i = 1 - 51
        Strati (“conduttura„). Cellule (i + 13, “D„). Copia
        Con gli strati (“Result1„)
            . Cellule (1, 5 * (i - 1) + 1).PasteSpecial _
                Colla: =xlPasteValues, funzionamento: =xlNone, _
                SkipBlanks: Il =False, traspone: =False
            . Cellule (2, 5 * (i - 1) + 1) = “OPT_CHAIN„
            . Cellule (3, 5 * (i - 1) + 1).FormulaR1C1 = “=BDS (R1C, R2C)„
        Estremità con
    Dopo i
Sommergibile dell'estremità
   
Macro2 secondario ()
Sourcerange fioco come gamma
Fillrange fioco come gamma
J fioco come lungamente
   
Con gli strati (“Result1„) 'correggere il nome dello strato per essere adatto a
    . Gamma (“B2„) = “PX_MID„
    . Gamma (“B3„) .FormulaR1C1 = “=BDP (R [0] C [- 1], R2C)„
    . Gamma (“B3„). Copia. Gamma (“B4: B2002„)
    . Gamma (“C2„) = “VOLUME„
    . Gamma (“C3„) .FormulaR1C1 = “=BDP (R [0] C [- 2], R2C)„
    . Gamma (“C3„). Copia. Gamma (“C3: C2002„)
    . Gamma (“D2„) = “OPT_DELTA„
    . Gamma (“D3„) .FormulaR1C1 = “=BDP (R [0] C [- 3], R2C)„
    . Gamma (“D3„). Copia. Gamma (“D3: D2002„)
    . Gamma (“E2„) = “OPEN_INT„
    . Gamma (“E3„) .FormulaR1C1 = “=BDP (R [0] C [- 4], R2C)„
    . Gamma (“E3„). Copia. Gamma (“E3: E2002„)
    . Gamma (“B2: E2„). Prescelto
    . Gamma (selezione, Selection.End (xlDown)). Prescelto
    Application.CutCopyMode = falso
    Selection.Copy
    Per J = 1 - 49
        Cellule (2, 5 * J + 2).Select
        ActiveSheet.Paste
    J seguente
Estremità con

Sommergibile dell'estremità
Altre soluzioni  
 
programming4us programming4us