Excel 如何在文件夹中创建文件夹、文件和保存文件

Excel 如何在文件夹中创建文件夹、文件和保存文件,excel,vba,Excel,Vba,编辑:我的问题不够清楚 Sub NewWB2() Dim wb As Workbook Dim POname As String Dim lrow As Long Dim NewfolderPath As String lrow = Cells(Rows.Count, 3).End(xlUp).Row POname = Worksheets("Sheet1").Cells(lrow, 10).Value 'name I want for both the folder and the docu

编辑:我的问题不够清楚

Sub NewWB2()
Dim wb As Workbook
Dim POname As String
Dim lrow As Long
Dim NewfolderPath As String

lrow = Cells(Rows.Count, 3).End(xlUp).Row
POname = Worksheets("Sheet1").Cells(lrow, 10).Value 'name I want for both the folder and the document

MkDir "C:\Users\First.Last\Desktop" & "\" & POname 'creates the folder in the path I want
NewfolderPath = "C:\Users\First.Last\Desktop\" & POname ' variable to define that path

Set wb = Workbooks.Add("C:\Users\First.Last\Documents\Custom Office Templates\PO Template.xltm") ' creates from template
ActiveWorkbook.SaveAs Filename:=POName 'Saves file as variable "POname"

End Sub

这里一切正常。我需要做的就是添加一行代码,将新工作簿保存在我创建的文件夹中。我找不到如何执行此操作,也不知道如何将其添加到中。

能否提供您正在使用的POname的字符串示例? 我想你在NewfolderPath中漏掉了一个“\”:

尝试:


尝试此操作,可能缺少文件名:

ActiveWorkbook.SaveAS Filename:=NewfolderPath & "\" & POname & "\Filename" 
如果文件名使用变量,请尝试:

ActiveWorkbook.SaveAS Filename:=NewfolderPath & "\" & POname & "\" & Filename 

很抱歉,这不是问题所在,因为它会创建文件夹。我更改了路径,因为它有个人详细信息lol。POname的一个示例是“PO 123456-789示例”。文件夹和新的excel文件将具有相同的名称。啊,我明白了,哈哈。问题出在脚本的保存部分,那么?请尝试以下操作:
ActiveWorkbook.SaveAs NewfolderPath&“\”&POname
,以便澄清,这将正确创建文件夹,正确创建和保存工作簿。。。我想更改的只是将文件保存在我创建的新文件夹中。我现在没有这方面的任何代码,也弄不清楚这会将文件保存在您刚刚创建的newfolderPath中
ActiveWorkbook.SaveAs newfolderPath&“\”&POname
是否为文件名提供扩展名?有很多关于变量值的信息缺失,这使得我们很难进行故障排除。这就是我所有的代码。我只删除了目标文件夹的名称,因为它有全名和详细信息。我的代码当前成功地在正确的位置创建了一个名称正确的文件夹,创建了一个名称正确的文件并保存了它。我只需要添加一行代码,将其保存在我创建的文件夹中,但我不知道如何操作。我当前有“ActiveWorkbook.SaveAs Filename:=POname”。所有这些都是用我想要的变量名保存文件。我应该添加什么以便它保存在我创建并命名的新文件夹中。请查看我的新行,我正在添加NewfolderPath变量。请查看我编辑的帖子。。。我无法使其工作。请使用
Debug.Print NewfolderPath&“\”&POname
并让我知道即时窗口中打印的值。我不确定具体如何执行此操作。我现在得到了“运行时错误'76:找不到路径”,它突出显示了这一行:
MkDir“C:\Users\First.Last\Desktop”&“\”&POname
ActiveWorkbook.SaveAS Filename:=NewfolderPath & "\" & POname & "\" & Filename