我正在开始一个新项目并且在开始时遇到麻烦= [。因此,我经常需要从非常大的Excel工作表中提取特定数据,并为该数据创建一个新的Excel工作表。目前我正在尝试创建一个新工作簿并将其保存到文件路径。我在SaveAs
执行行上收到错误。知道为什么会这样吗?错误是:
“对象'_Workbook'的方法'另存为'失败。
Dim Path As String
Dim dat As String
Dim Client As String
Path = "C:\Back\Test\"
ThisWorkbook.Sheets("Control Panel").Activate
dat = Range("F42")
Client = Range("F43")
Workbooks.Add
ActiveWorkbook.SaveAs Filename:=Path & Date & "-" & Client & ".xls", FileFormat:=xlNormal
newWBName = ActiveWorkbook.Name
答案 0 :(得分:0)
我会建议我获取您的需求。
这是sub应该做你需要的。所以首先我建议将所有变量调暗,不要使用激活。而是使用工作表变量,并通过不通过范围的单元格访问单个值。
但您的主要问题可能是您尝试使用保留字Date
。如果您不清楚某些事情,请告诉我。
Sub save()
Dim filePath As String
Dim dateFromSheet As String
Dim clientName As String
Dim controlPanelSheet As Worksheet
Dim newWorkbookName As String
Set controlPanelSheet = Sheets("Control Panel")
filePath = "c:\Users\sukl\Documents\"
With controlPanelSheet
dateFromSheet = .Cells(42, "F").Value
clientName = .Cells(43, "F").Value
End With
ThisWorkbook.SaveAs Filename:=filePath & dateFromSheet & "-" & clientName & ".xls", FileFormat:=xlNormal
newWorkbookName = ThisWorkbook.Name
End Sub