(编辑:在随后的编辑中,发布者声明问题已经解决并且是由于拼写错误,然后删除了整个问题文本。添加此评论的文本恢复)
我有 2 个需要安排的宏:
Macro1 "GetData" - 这需要每 35 分钟运行一次 - 从我的数据库中检索数据。Macro2 "RefreshData" - 这需要在 GetData 完成后每 1 分钟运行一次 - 以更新我的数据。
我试过了:
Private Sub workbook_open()
Application.OnTime Now + TimeValue("00:35:10"), "GetData"
Application.OnTime Now + TimeValue("00:01:00"), "RefreshData"
End Sub
但是,我收到了:
“无法运行宏“c:\document and settings\alex\desktop\data.xlsm'!GetData'/此工作簿中可能不可用宏,或者所有宏都可能被禁用”
Sub GetData ()
'' GetData ///////////////////////////////////////////////////////////////////////
Dim sh1 As Worksheet, data As Worksheet
Set sh1 = Worksheets("Sheet1")
Set data = Workbooks.Open(Filename:="C:\Documents and Settings\alex\Desktop\source.XLS"). _
Worksheets("Report 1")
Sheets("Report 1").Select
Set Rng = Sheets("Report 1").Range("A2:K350")
Selection.Copy
sh1.Activate
Rng.SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("Sheet1").Range("A2")
portfolioName.Activate
ActiveWorkbook.Close
End Sub
Sub RefreshData()
MsgBox ("-- Update every 1min --")
End Sub
任何帮助表示赞赏。
- 更新 - - - -
我现在创建了一个单独的 GetData 模块:
Private Sub workbook_open()
Application.OnTime Now + TimeValue("00:35:10"), "GetData"
'Application.OnTime Now + TimeValue("00:01:00"), "RefreshData"
End Sub
Public Sub GetData()
'' GetData ///////////////////////////////////////////////////////////////////////
....
....
End Sub
仍然收到相同的错误..
- 更新 - - -
好的,在 Sheet1 中我有:
Public Sub workbook_open()
Application.OnTime Now + TimeValue("00:35:10"), "GetData"
'Application.OnTime Now + TimeValue("00:01:00"), "RefreshData"
End Sub
我现在有 Insert > Module 并将模块重命名为 GetData
在该 GetData 模块中,我有:
Public Sub GetData()
'' GetData ///////////////////////////////////////////////////////////////////////
....
....
End Sub
欢迎任何意见