Question : Fonction d'Excel VBA Bloomberg

Im essayant d'écrire un macro simple de sorte que le code puisse coller la formule du bloomberg BDS dans la feuille de travail. Tout fonctionne très bien mais quand je m'ouvre les xls dans l'adjonction de bloomberg excellent, je dois presser le F2 et entrer en chaque cellule avant la formule de BDS activée pour des données de téléchargement. Est-ce que n'importe qui sait résoudre ce problème ? le

du

Sub Macro1 () ActiveSheet.Name = « Result1 " le
pour I = 1 à 51

couvre (« force »). Chaîne de Select
(« D » et 13 + i). Feuilles de Select
Selection.Copy
(« Result1 »). Chaîne de Select
(« A1 »). Cellules de Select
(1, 5 * (I - 1) + pâte de
ActiveSheet.Paste
Selection.PasteSpecial de 1).Select
: =xlPasteValues, opération : =xlNone, _
de SkipBlanks : Le =False, transposent : gamme du
du
du =False
(« A2 »). Cellules de Select
(2, 5 * (I - 1) + 1).Select
ActiveCell.FormulaR1C1 = gamme de

de « OPT_CHAIN " (« A3 »). Cellules de Select
(3, 5 * (I - 1) + 1).Select
ActiveCell.FormulaR1C1 = gamme de
de

de
Sub Macro2 de Sub
de fin d'i
de
de
de « =BDS (R1C, R2C) « prochaine () (« B2 »). Select
ActiveCell.FormulaR1C1 = gamme du
du
de « PX_MID " (« B3 »). Select
ActiveCell.FormulaR1C1 = du « gamme du
=BDP (R [0] C [- 1], R2C) « (« B3 »). Chaîne de Select
Selection.Copy
(« B4 : B2002 »). Chaîne de Select
ActiveSheet.Paste
(« C2 »). Select
ActiveCell.FormulaR1C1 = gamme du
de « VOLUME " (« C3 »). Select
ActiveCell.FormulaR1C1 = du « gamme du
=BDP (R [0] C [- 2], R2C) « (« C3 »). Destination de Select
Selection.AutoFill : =Range (« C3 : Gamme du
de C2002 ») (« D2 »). Select
ActiveCell.FormulaR1C1 = gamme du
de « OPT_DELTA " (« D3 »). Select
ActiveCell.FormulaR1C1 = du « gamme du
=BDP (R [0] C [- 3], R2C) « (« D3 »). Destination de Select
Selection.AutoFill : =Range (« D3 : Gamme du
de D2002 ») (« E2 »). Select
ActiveCell.FormulaR1C1 = gamme du
de « OPEN_INT " (« E3 »). Select
ActiveCell.FormulaR1C1 = du « gamme du
=BDP (R [0] C [- 4], R2C) « (« E3 »). Destination de Select
Selection.AutoFill : =Range (« E3 : Gamme du
d'E2002 ») (« B2 : E2 »). Chaîne de Select
(choix, Selection.End (xlDown)). Select
Application.CutCopyMode = False
Selection.Copy
pour j = 1 aux cellules de 49
(2, 5 * j + prochaine extrémité Sub
de j
de 2).Select
ActiveSheet.Paste
class= de

Réponse : Fonction d'Excel VBA Bloomberg

y338,

Le code ci-dessous est une édition raccourcie de ce que vous avez fourni. Il n'y a aucun besoin d'employer « choisi » dans VBA, au lieu de cela assigne simplement des valeurs directement à la destination required.

Je pense que la raison vous sont ont des problèmes est que vous n'avez pas une référence au Bloomberg addition en votre code de VBA. Vous aurez besoin de n'importe quoi de pareil dans votre macro de VBA :

Application.AddIns.Add « add-in_filename ici »

Ou s'assurer plus simplement que vous avez dans le menu principal d'Excel, allé aux outils/Ajouter-Institut central des statistiques et vérifié/a fait tic tac le « Bloomberg » addition.

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 secondaires ()
Obscurcir I en tant que longtemps
    Pour I = 1 à 51
        Feuilles (« force »). Cellules (I + 13, « D »). Copie
        Avec les feuilles (« Result1 »)
            . Cellules (1, 5 * (I - 1) + 1).PasteSpecial _
                Pâte : =xlPasteValues, opération : =xlNone, _
                SkipBlanks : Le =False, transposent : =False
            . Cellules (2, 5 * (I - 1) + 1) = « OPT_CHAIN »
            . Cellules (3, 5 * (I - 1) + 1).FormulaR1C1 = « =BDS (R1C, R2C) »
        Extrémité avec
    Après i
Sous-marin d'extrémité
   
Macro2 secondaire ()
Faible sourcerange comme gamme
Faible fillrange comme gamme
Faible j en tant que longtemps
   
Avec les feuilles (« Result1 ») 'corriger le nom de feuille pour adapter
    . Gamme (« B2 ») = « PX_MID »
    . Gamme (« B3 ») .FormulaR1C1 = « =BDP (R [0] C [- 1], R2C) »
    . Gamme (« B3 »). Copie. Gamme (« B4 : B2002 »)
    . Gamme (« C2 ») = « VOLUME »
    . Gamme (« C3 ») .FormulaR1C1 = « =BDP (R [0] C [- 2], R2C) »
    . Gamme (« C3 »). Copie. Gamme (« C3 : C2002 »)
    . Gamme (« D2 ») = « OPT_DELTA »
    . Gamme (« D3 ») .FormulaR1C1 = « =BDP (R [0] C [- 3], R2C) »
    . Gamme (« D3 »). Copie. Gamme (« D3 : D2002 »)
    . Gamme (« E2 ») = « OPEN_INT »
    . Gamme (« E3 ») .FormulaR1C1 = « =BDP (R [0] C [- 4], R2C) »
    . Gamme (« E3 »). Copie. Gamme (« E3 : E2002 »)
    . Gamme (« B2 : E2 »). Choisi
    . Gamme (choix, Selection.End (xlDown)). Choisi
    Application.CutCopyMode = faux
    Selection.Copy
    Pour j = 1 à 49
        Cellules (2, 5 * j + 2).Select
        ActiveSheet.Paste
    Prochain j
Extrémité avec

Sous-marin d'extrémité
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us