如何在我的代码的另一位使用input框的结果?

所以我对VBA和编码非常陌生,一直在玩很简单的游戏。 子工作簿从工作簿中复制到新工作簿中,然后保存。 问题是我希望能够指定保存文档时使用的名称。 我正在使用一个input框,我似乎无法得到代码来接受结果。 这是我的代码

Sub CC_Export() Dim name As String Dim Wb As Workbook Set Wb = Workbooks("workbook1") Wb.Sheets("Sheet1").Copy name = InputBox("Enter Name of New Workbook", "New Workbook") ActiveWorkbook.SaveAs "name.xlsx", FileFormat:=51 End Sub 

您的代码正在使用文字“name.xlsx”。 要使用该variables,您需要将其值连接到您的文本string

 ActiveWorkbook.SaveAs name & ".xlsx", FileFormat:=51 

编辑 ,以利用@Pawel Sotor答案的隐式扩展假设,并进一步缩短代码长度

罗里给你解决scheme

只要投入你可以缩短你的代码如下:

 Sub CC_Export() Workbooks("workbook1").Sheets("Sheet1").Copy ActiveWorkbook.SaveAs InputBox("Enter Name of New Workbook", "New Workbook"), FileFormat:=51 End Sub 

只需用namereplace"name.xlsx" ,所以你的代码应该是这样的: ActiveWorkbook.SaveAs name, FileFormat:=51