有没有人知道我需要使用的VBA代码,以便我可以使用EPM(Hyperion)Smartiew自动“刷新”和“全部刷新”? “刷新”功能将数据拉入活动选项卡上的Excel,其中“刷新”全部功能刷新工作簿中的所有选项卡。
我想在Excel中创建一个附加到命令按钮的简单宏,我不确定要使用哪个VBA代码。
我尝试录制一个宏,我只是开始录制点击刷新并停止录制,虽然这不起作用。
我尝试使用此代码进行刷新:
Declare Function HypMenuVRefresh Lib "HsAddin.dll"() As Long
Sub MRetrieve()
X = HypMenuVRefresh()
End Sub
但收到一条错误消息,说我必须更新用于64位系统的声明方法(我使用的是64位系统)。
有谁知道如何创建这个自动宏来刷新数据?
任何帮助将不胜感激!
答案 0 :(得分:1)
HypRetrieveRange
可以刷新或更新一系列信息,还有许多其他功能可能适合您的需要,具体取决于您需要刷新多少信息。您是否像他们推荐的那样导入了整个smartview.bas
文件?
答案 1 :(得分:1)
VBA中x64的声明不正确。
尝试:
getDeclaredAnnotations()
答案 2 :(得分:0)
Sub Refresh()
'
' Refresh Macro
' Macro recorded 8/12/2011 by joao-oliveira
'
Dim oBar As CommandBar
Set oBar = Application.CommandBars("Worksheet Menu Bar")
oBar.Controls("Hyperion").Controls("Refresh").Execute
End Sub
答案 3 :(得分:0)
使用基本模拟按下按钮的函数调用!
刷新当前工作表
Declare Function HypMenuVRefresh Lib "HsAddin.dll" () As Long lngReturn = HypMenuVRefresh()
刷新所有工作表
Declare Function HypMenuVRefreshAll Lib "HsAddin.dll" () As Long lngReturn = HypMenuVRefreshAll()
* 注意: 0
的返回值为“确定”
答案 4 :(得分:0)
这对我有用。您可以将此宏指定给任何按钮。我使用每个工作表中的 HypMenuVRefresh 函数,而不是使用refresh all函数。
Sub refreshWS()
Dim Count, i As Integer
i = 1
Count = Worksheets.Count
Do While i < Count
Sheets(i).Select
Call HypMenuVRefresh
i = i + 1
Loop
MsgBox "done"
End Sub
答案 5 :(得分:0)
创建一个按钮并为其分配一个新的子程序。使用call命令调用公共函数。
Sub RefreshHFM()
'
' RefreshHFM Macro
'
Call HypMenuVRefreshAll
'
End Sub