ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何利用vba代码,将位于一列中的工作表名指定的工作表另存为新工作簿?

如何利用vba代码,将位于一列中的工作表名指定的工作表另存为新工作簿?

作者:绿色风 分类: 时间:2022-08-17 浏览:132
楼主
kevinchengcw
Q: 如何利用vba代码,将位于一列中的工作表名指定的工作表另存为新工作簿?
A: 代码如下:
  1. Sub test()
  2. Dim Str$
  3. Str = Join(Application.Transpose([a1].Resize(Cells(Rows.Count, 1).End(3).Row, 1)), vbTab) '将A列单元格有数据区域的数据串接成以vbTab分隔的字符串(注意:因数据区范围内可能存在空白单元格所以可能存在vbTab & vbTab的情况)
  4. Do While InStr(Str, vbTab & vbTab) > 0 '判断是否存在vbTab & vbTab情况,并予以替换
  5.     Str = Replace(Str, vbTab & vbTab, vbTab)
  6. Loop
  7. Sheets(Split(Str, vbTab)).Copy '利用split函数将字符串依vbTab分割成数组,并对对应数组内的工作表进行复制操作(会生成新的工作簿,并激活)
  8. With ActiveWorkbook '对活动工作簿进行存储后关闭
  9.     .SaveAs ThisWorkbook.Path & "\DD.xls"
  10.    .Close
  11. End With
  12. End Sub
注:
1. 单元格区域转置成数组并串接成字符串;
2. 字符串的替换处理操作;
3. 工作表组的复制及另存操作。
2楼
纵鹤擒龙水中月
学习了

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap