【问题标题】:Excel VBA to open a workbook and switch to a different worksheetExcel VBA 打开工作簿并切换到不同的工作表
【发布时间】:2016-05-02 17:31:36
【问题描述】:

下午好。我目前是 VBA 的新手,我正在尝试创建一个简单的代码来打开工作簿,翻转到特定的工作表(事务分析)并运行两个宏。然后应该翻转到工作表“基金趋势”并运行这两个相同的宏,然后保存并关闭。我在网上找到了这段代码,并稍作修改以尝试在工作簿中打开一个特定的工作表,但没有运气。

如果我排除有关“ActiveWorkbook.Sheets(”Transaction Analysis") 的行,则该脚本适用于打开的工作表。当我尝试在工作簿中添加引用特定工作表的任何内容时,我遇到了问题。下面显示的脚本,工作簿打开,就是这样。脚本停在那里并且不运行宏。

如果有任何帮助或建议,我将不胜感激!这个想法是用任务调度程序调度最终 vbscript 的执行。谢谢!

Dim args, objExcel

Set args = wscript.Arguments
set objExcel = CreateObject("Excel.Application")

objExcel.workbooks.open args(0)
objExcel.Visible = True

ActiveWorkbook.Sheets("Transaction Analysis")

objExcel.Run "Clear"

objExcel.Run "SecurityDistribution"

objExcel.ActiveWorkbook.Save
objExcel.ActiveWorkbook.Close(0)
objExcel.Quit

【问题讨论】:

  • 没有运气并不能告诉我们正在发生什么……请更具体地说明您的期望和正在发生的事情。另外作为一个仅供参考,您需要在选项>>信任中心设置>>宏中启用对 VBA 项目模型的访问
  • 试试 ActiveWorkbook.Sheets("事务分析").Activate
  • 谢谢。我的评论已更新,提供更多信息。
  • 我也尝试过 ActiveWorkbook.Sheets("Transaction Analysis").Activate ,此时工作簿打开,但之后没有任何反应。
  • 有什么错误什么的。或者它只是停止?

标签: excel vba


【解决方案1】:

您是说要在另一个工作簿中运行宏,而不是具有焦点的工作簿?如果仅此而已,请尝试此单线。

Application.Run "MacroBook!MacroName"

请注意,您无需选择特定的工作表即可运行宏。但是,您确实需要选择正确的工作簿!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-04
    • 2021-10-26
    相关资源
    最近更新 更多