1

特定の順序で更新する約 50 枚のシートを含むワークブックがあります (シートが互いに構築されるため、#rfr エラーを回避するため)。

更新は、Excel 用の EPM アドインを介して行われます。FPMXLclient 関数を有効にして、いくつかのコードを書き込もうとしました。私はコーディングとロジックに非常に不慣れです。ワークブックでは、マクロは最後のタブで開始し、シートが更新されるのを待ってから、次のタブに移動する必要があります (など...)。以下は、私が書いた VBA コードの例です。

    Dim refreshList
        refreshList = Array("BS Analytic", "Balance Sheet")
        'There are more than just the 2 in the array (~50)
    Sub test_loop()
        Dim I
        For I = LBound(refreshList) To UBound(refreshList)
        MsgBox refreshList(I)
        Next I
    End Sub
    'Vba to refresh data
    Dim client As New EPMAddInAutomation
    Sub Refresh_Click()
        client.Refresh
    End Sub
    Sub AFTER_REFRESH()
        MsgBox "done"
    End Sub

その他の情報: これには BPC と SAP も含まれます。

4

2 に答える 2

0

refreshList配列に各シート番号を入れてから使用しないのはなぜですかFor each I in refreshListrefreshListこれにより、各更新の順序で が伝播されます。最後のシートから逆方向にも移動している場合は、いつでも次のことができます。

Sub Refresh_Click

Dim refreshList() As Integer
reDim refreshList(50)
for i = 0 to 49
    refreshList(i) = 50 - i
next
For each I in refreshList
    Sheets(I).EnableCalculation = false
    Sheets(I).EnableCalculation = true
Next
MsgBox "Done"

End Sub
于 2014-07-09T22:54:46.397 に答える