小编Sam*_*per的帖子

在Excel VBA宏完成之前,Bloomberg数据不会填充

我在具有Bloomberg许可证的PC上的空白Excel 2007工作簿中运行宏.宏将Bloomberg函数插入到sheet1中,以获取收益率曲线数据.一些附加功能的结果取决于完成和正确显示Bberg数据的第一个功能.当我单步执行程序时,它只显示'#N/A请求数据..".而不是查询的结果,无论我走得多慢.由于某些函数依赖于填充的字符串和数字字段结果,因此程序会在该代码处遇到运行时错误.当我停止调试 - 完全结束运行程序 - 然后出现应该填充的所有Bberg值.我希望在程序仍在运行时显示这些值.

我尝试使用DoEvents和Application.OnTime()的组合将控制权返回给操作系统,并使程序等待很长时间进行数据更新,但都没有工作.任何想法都会有所帮助.我的代码如下. wb是一个全局级工作簿,ws1是一个全局级工作表.

Public Sub Run_Me()

Public Sub Run_Me()

    'Application.DisplayAlerts = False
    'Application.ScreenUpdating = False

    Call Populate_Me
    Call Format_Me

    'Application.DisplayAlerts = True
    'Application.ScreenUpdating = True

End Sub
Run Code Online (Sandbox Code Playgroud)

结束子

Private Sub Populate_Me()

Private Sub Populate_Me()

    Dim lRow_PM As Integer
    Dim xlCalc As XlCalculation

    Set wb = ThisWorkbook
    Set ws1 = wb.Sheets(1)

    'clear out any values from previous day
    If wb.Sheets(ws1.Name).Range("A1").Value <> "" Then
        wb.Sheets(ws1.Name).Select
        Selection.ClearContents
    End If


    xlCalc = Application.Calculation
    Application.Calculation = xlCalculationAutomatic …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-2007 excel-vba bloomberg

10
推荐指数
2
解决办法
5万
查看次数

转到未隐藏的第一张表

在宏上工作,该宏将转到第一张工作表。我正在使用:

Sub GoToFirstSheet()

    On Error Resume Next
    Sheets(1).Select

End Sub
Run Code Online (Sandbox Code Playgroud)

但是,如果工作表1是隐藏的,则将无法工作。如何合并进入未隐藏的第一张纸的方法?

excel vba

2
推荐指数
2
解决办法
65
查看次数

VBA:选择所选内容的左上角单元格的最佳方式

尝试找到从选择中选择左上角单元格的最佳方法。当前的代码看起来太庞大,不是最佳方式:

Sub CAIShowHandle()

    Dim TopLeftColumn As String
    Dim TopLeftRow As String

    'changing to only top left cell
    With Selection
        TopLeftRow = .Row
        TopLeftColumn = Col_Letter(.Column)
    End With
    Range(TopLeftColumn & TopLeftRow).Select

End Sub
Run Code Online (Sandbox Code Playgroud)
Function Col_Letter(lngCol As Long) As String
    Dim vArr
    vArr = Split(Cells(1, lngCol).Address(True, False), "$")
    Col_Letter = vArr(0)
End Function
Run Code Online (Sandbox Code Playgroud)

有更好的方法来写这个吗?

excel vba

0
推荐指数
1
解决办法
4733
查看次数

标签 统计

excel ×3

vba ×3

bloomberg ×1

excel-2007 ×1

excel-vba ×1