为什么我的VBA代码在运行时会创建一个额外的工作表?

时间:2017-06-15 21:09:22

标签: excel vba excel-vba

我的代码完美无缺,除了它创建了一个额外的工作表(序列中的下一个...即“Sheet2”...“Sheet3”...每次我运行它。任何人都可以帮助弄清楚为什么会发生这种情况?...我应该只创建两张表,如下面的代码中所示:

addSbtPlugin("com.lightbend.sbt" % "sbt-javaagent" % "0.1.2")

1 个答案:

答案 0 :(得分:6)

它发生在最后一步:

Set CashWS = Sheets.Add
Sheets.Add.Name = "2017_0" & MonthVal & " Cash"

将其更改为:

Set CashWS = Sheets.Add
CashWS.Name = "2017_0" & MonthVal & " Cash"

执行第二次Sheet.Add.Name添加工作表同时重命名它。执行Set CashWS = Sheets.Add时,Excel会添加工作表。那么,只需使用您的WS变量并更新名称。

编辑:如果没有实际原因,我会补充一点,如果您偏爱使用Sheets.Add.Name...,那么您可以做到:

Sheets.Add.Name = "2017_0" & MonthVal & " Cash"
Set CashWS = ActiveSheet

然后继续使用CashWS变量。