繁体   English   中英

Excel VBA:在新工作簿中保存多个工作表

[英]Excel VBA: Saving several sheets in a new workbook

我正在寻找一种方法来保存新工作簿中的工作表列表。 这很好用:

ThisWorkbook.Sheets(Array("a1", "a2")).Copy
ActiveWorkbook.SaveAs Filename:="myFile.xlsx", FileFormat:=51

但是,工作表的列表总是不同的,所以我生成了一个字符串变量Pgs ,在这种情况下"a1", "a2"括号"a1", "a2"中的文本。

所以它看起来像这样:

ThisWorkbook.Sheets(Array(Pgs)).Copy
ActiveWorkbook.SaveAs Filename:="myFile.xlsx", FileFormat:=51

不工作。 我尝试了从开头和结尾等添加和删除引号的不同选项。 我找到了讨论从字符串变量引用一个页面的主题,但从来没有讨论像我这样的几个页面。

有什么建议?

这个想法很合理,但问题是:

Array(Pgs)

将创建一个如下所示的单个索引数组:

Array[0] = "a1", "a2"

因此,除非您的工作表名为"a1", "a2" ,否则这将无效。

但是,这应该工作:

Pgs = "a1,a2"
ThisWorkbook.Sheets(Split(Pgs, ",")).Copy

因为Split函数将返回一个用逗号分隔的数组。 在这种情况下, Split(Pgs)将具有如下数组:

  • 数组[0] = a1
  • 数组[1] = a2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM