Вопрос : Функция Эксел VBA Bloomberg

Im пытаясь написать просто макрос так, что Кодий сможет наклеить формулу bloomberg BDS в рабочий лист. Все работает отлично но когда я раскрываю xls в расширении bloomberg первенствуют, я должен отжать F2 и войти в каждую клетку перед формулой BDS активированную для данных по загрузки. Любое умеет как разрешить эту проблему?



Sub Macro1 () ActiveSheet.Name = «Result1 "
для I = 1 к 51

покрывает («основа»). Ряд Select
(«d» & 13 + I). Листы Select
Selection.Copy
(«Result1»). Ряд Select
(«A1»). Клетки Select
(1, 5 * (I - 1) + затир
ActiveSheet.Paste
Selection.PasteSpecial 1).Select
: =xlPasteValues, деятельность: =xlNone, _
SkipBlanks: =False, транспонирует: ряд

=False
(«A2»). Клетки Select
(2, 5 * (I - 1) + 1).Select
ActiveCell.FormulaR1C1 = ряд

«OPT_CHAIN " («A3»). Клетки Select
(3, 5 * (I - 1) + 1).Select
ActiveCell.FormulaR1C1 = «ряд



Sub Macro2 Sub
конца i


=BDS (R1C, R2C) «следующий () («B2»). Select
ActiveCell.FormulaR1C1 = ряд

«PX_MID " («B3»). Select
ActiveCell.FormulaR1C1 = «ряд
=BDP (r [0] c [- 1], R2C) «(«B3»). Ряд Select
Selection.Copy
(«B4: B2002»). Ряд Select
ActiveSheet.Paste
(«C2»). Select
ActiveCell.FormulaR1C1 = ряд
«ТОМА " («C3»). Select
ActiveCell.FormulaR1C1 = «ряд
=BDP (r [0] c [- 2], R2C) «(«C3»). Назначение Select
Selection.AutoFill: =Range («C3: Ряд
C2002») («D2»). Select
ActiveCell.FormulaR1C1 = ряд
«OPT_DELTA " («D3»). Select
ActiveCell.FormulaR1C1 = «ряд
=BDP (r [0] c [- 3], R2C) «(«D3»). Назначение Select
Selection.AutoFill: =Range («D3: Ряд
D2002») («E2»). Select
ActiveCell.FormulaR1C1 = ряд
«OPEN_INT " («E3»). Select
ActiveCell.FormulaR1C1 = «ряд
=BDP (r [0] c [- 4], R2C) «(«E3»). Назначение Select
Selection.AutoFill: =Range («E3: Ряд
E2002») («B2: E2»). Ряд Select
(выбор, Selection.End (xlDown)). Select
Application.CutCopyMode = False
Selection.Copy
для j = 1 к клеткам 49
(2, 5 * j + конец Sub
j
2).Select
ActiveSheet.Paste
следующий class=

Ответ : Функция Эксел VBA Bloomberg

y338,

Кодим ниже будет сокращенный вариант вы обеспечили. Не будет потребности использовать «отборное» в VBA, вместо просто задает значения сразу к необходимый назначению.

Я думаю причина вы имеет проблемы что вы бедный человек получили справку к Bloomberg Add-in в вашем Кодем VBA. Вам будет нужно что-нибудь подобное в вашем макросе VBA:

Application.AddIns.Add «add-in_filename здесь»

Или более просто сделайте конечно что вы имеете в главным образом меню Эксел, ом к инструментам/Добавлять-ins и после того как я проверено/тикало «Bloomberg» add-in.

Патрик
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:
Sub Macro1 ()
Затемните I как длиной
    Для I = от 1 до 51
        Листы («основа»). Клетки (I + 13, «d»). Экземпляр
        С листами («Result1»)
            . Клетки (1, 5 * (I - 1) + 1).PasteSpecial _
                Затир: =xlPasteValues, деятельность: =xlNone, _
                SkipBlanks: =False, транспонирует: =False
            . Клетки (2, 5 * (I - 1) + 1) = «OPT_CHAIN»
            . Клетки (3, 5 * (I - 1) + 1).FormulaR1C1 = «=BDS (R1C, R2C)»
        Конец с
    Затем iий
Подводная лодка конца
   
Sub Macro2 ()
Тусклое sourcerange как ряд
Тусклое fillrange как ряд
Тусклый j как длиной
   
С листами («Result1») 'исправьте имя листа для того чтобы одеть
    . Ряд («B2») = «PX_MID»
    . Ряд («B3») .FormulaR1C1 = «=BDP (r [0] c [- 1], R2C)»
    . Ряд («B3»). Экземпляр. Ряд («B4: B2002»)
    . Ряд («C2») = «ТОМ»
    . Ряд («C3») .FormulaR1C1 = «=BDP (r [0] c [- 2], R2C)»
    . Ряд («C3»). Экземпляр. Ряд («C3: C2002»)
    . Ряд («D2») = «OPT_DELTA»
    . Ряд («D3») .FormulaR1C1 = «=BDP (r [0] c [- 3], R2C)»
    . Ряд («D3»). Экземпляр. Ряд («D3: D2002»)
    . Ряд («E2») = «OPEN_INT»
    . Ряд («E3») .FormulaR1C1 = «=BDP (r [0] c [- 4], R2C)»
    . Ряд («E3»). Экземпляр. Ряд («E3: E2002»)
    . Ряд («B2: E2»). Отборно
    . Ряд (выбор, Selection.End (xlDown)). Отборно
    Application.CutCopyMode = ложно
    Selection.Copy
    Для j = от 1 до 49
        Клетки (2, 5 * j + 2).Select
        ActiveSheet.Paste
    Следующий j
Конец с

Подводная лодка конца
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us