[英]How can I export, using VBA, specific sheets in my main workbook, to a new excel file?
[英]How can I refresh multiple sheets (in specific order) in an Excel workbook using EPM references?
我有一个工作簿,里面有大约 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。
假设您的插件刷新了活动工作表,循环中的类似内容可能会起作用:
Dim Sh As Worksheet
Set Sh = WorkSheets(RefreshList(I))
Sh.Activate
Client.Refresh
为什么不在数组refreshList
包含每个工作表编号,然后For each I in refreshList
使用For each I in refreshList
。 然后将按照每次更新的顺序传播refreshList
。 如果它也从最后一张纸向后移动,您始终可以执行以下操作:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.