VBA,如何新建工作簿并命名

Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"90!R1C1:R1048576C9", Version:=xlPivotTableVersion14).CreatePivotTable _
TableDestination:="Sheet5!R3C1", TableName:="数据透视表2", DefaultVersion:= _
xlPivotTableVersion14
Sheets("Sheet5").Select

附上代码

参考代码如下:
Sub test()
Dim iFile As String
iFile = ThisWorkbook.Path & "\" & "命名.xls"
Workbooks.Add
ActiveWorkbook.SaveAs iFile, True
MsgBox "新建Excel工作薄完成," & vbCrLf & "完整路径及名称:" & vbCrLf & iFile
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-08-01
通过记录宏的方式得到下面这个代码。
Sub Macro1()
' Macro1 Macro
Workbooks.Add

ActiveWorkbook.SaveAs Filename:="C:\Users\Think\Documents\myfile.xlsx", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
ActiveWindow.Close
End Sub

注:要学习vba编程,这个记录宏功能要好好利用。
第2个回答  2014-11-19
添加工作表后直接改名:
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "90"追问

谢谢你,第一步解决了。但是卡在这里哦。,在对命名为“90”的进行透视表统计的时候,怎么让EXCEL自动选取由“90”创造出的透视表工作簿?

追答

感觉你对工作簿和工作表都混淆了,我不太明白你的意图。大致理解为你想通过录制的宏,让代码自动完成。只能给你思路,你自己摸索。很多时候是靠变量来临时保存对象或数据,在后面代码可以使用。如你用Add方法新建一工作表,这个方法就返回一个工作表对象,如果此工作表对象在后面代码中要使用,有多种方法,常用2种:一是创建后即时命名,后面用名称引用(前面提问就是这样的),二是用变量,如用变量sh代表新建的表,就在Add新建表时赋给变量:set sh=sheets.add。后面就用sh表示这个工作表。注意:给数据变量赋值直接用等号即可,给对象变量赋值前面要加上“set”,初学时经常忘记。

追问

还有谢谢你给我提供的思路!

追答

sheet 是工作表, workbook 才是工作簿,工作簿实际上就是一个EXCEL文件。
上面sh变量是工作表变量,已经是工作表对象了,直接使用,不能再用名称引用(sheets(sh)),改为 sh.select

本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网