【发布时间】:2014-07-02 22:33:36
【问题描述】:
我想在 Excel 文档的所有工作表中使用 VBS,它将执行以下操作:
- 过滤表格
- 复制过滤后的内容
- 创建新工作表
- 仅粘贴特殊值并保存为 csv 文件
我尝试使用此代码实现此目的,但它不起作用
With excelObject1
.Application.DisplayAlerts = False
for each x in excelObject1.WorkSheets
x.Rows(1).AutoFilter 1, "type 1"
x.Range("A1:E41").Copy
.WorkSheets.Add
.ActiveWorksheet.Range("A1").PasteSpecial -4122
.ActiveWorkbook.SaveAs home_directory+x.Name + ".csv", 23
Next
.Quit
.Application.DisplayAlerts = True
End With
它给出错误(对象不支持此属性或方法:'ActiveWorksheet'),如果我删除 ActiveWorksheet 前面的点,则它给出错误(变量未定义'ActiveWorksheet') 我不知道如何在“for each x”中创建新的工作表。 也许这不是我应该这样做的方式? 我尝试使用 VBS 来做到这一点,但如果有人可以帮助我即使使用 VBA 也能做到这一点,那就太好了。我的 Excel 是 2013 年。
【问题讨论】:
标签: excel vbscript excel-2013