保存新创建的VBA工作簿时出现问题
我正在开始一个新项目,一开始就遇到了麻烦=[。我经常需要从一个非常大的excel工作表中提取特定数据,并为该数据创建一个新的excel工作表。目前,我正在尝试创建一个新工作簿并将其保存到文件路径。我在执行行保存新创建的VBA工作簿时出现问题,vba,excel,Vba,Excel,我正在开始一个新项目,一开始就遇到了麻烦=[。我经常需要从一个非常大的excel工作表中提取特定数据,并为该数据创建一个新的excel工作表。目前,我正在尝试创建一个新工作簿并将其保存到文件路径。我在执行行SaveAs上遇到错误。知道为什么会发生这种情况吗?错误是: 对象“\u工作簿”的“另存为”方法失败 我将提议我可以满足你的需要 这里有一个sub,它可以满足您的需要。因此,首先我建议您调暗所有变量,不要使用activate。而是使用sheet variable,还可以通过单元格而不是范围来访
SaveAs
上遇到错误。知道为什么会发生这种情况吗?错误是:
对象“\u工作簿”的“另存为”方法失败
我将提议我可以满足你的需要 这里有一个sub,它可以满足您的需要。因此,首先我建议您调暗所有变量,不要使用activate。而是使用sheet variable,还可以通过单元格而不是范围来访问单个值 但您的主要问题可能是您试图使用保留字
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
你能用MsgBox显示文件名吗?比如:MsgBox(Path&Date&“-”&Client&“.xls”)你不会碰巧有混合的dat(来自dat=Range(“F42”))和日期(来自Filename:=Path&Date&…)?Elzell是的,我可以(消息框)。这是我的一个输入错误,但它仍然没有执行。对我来说效果很好…您在要保存的文件夹中是否具有适当的写入权限?MsgBox到底显示了什么?将日期计算为路径中的3个文件夹dd-mm-yyyy?请尝试使用格式(日期,“ddmmyyyy”)
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