Vba 如何在我的另一段代码中使用输入框的结果?
所以我对VBA和编码非常陌生,一直在编写非常简单的SUB。sub从工作簿中获取一张工作表,复制到新工作簿中,然后保存它。问题是,我希望能够指定它在保存文档时使用的名称。我使用的是一个输入框,我似乎无法让代码接受结果。这是我的密码Vba 如何在我的另一段代码中使用输入框的结果?,vba,excel,Vba,Excel,所以我对VBA和编码非常陌生,一直在编写非常简单的SUB。sub从工作簿中获取一张工作表,复制到新工作簿中,然后保存它。问题是,我希望能够指定它在保存文档时使用的名称。我使用的是一个输入框,我似乎无法让代码接受结果。这是我的密码 Sub CC_Export() Dim name As String Dim Wb As Workbook Set Wb = Workbooks("workbook1") Wb.Sheets("Sheet1").Copy name = InputBox
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”。要使用变量,需要将其值连接到文本字符串中
ActiveWorkbook.SaveAs name & ".xlsx", FileFormat:=51
只需将
“name.xlsx”
替换为name
,因此您的代码应该如下所示:ActiveWorkbook.SaveAs name,FileFormat:=51
编辑后的,以利用@Pawel Sotor answer中的隐式扩展假设,进一步缩短代码长度
罗里给了你答案
您可以将代码缩短如下:
Sub CC_Export()
Workbooks("workbook1").Sheets("Sheet1").Copy
ActiveWorkbook.SaveAs InputBox("Enter Name of New Workbook", "New Workbook"), FileFormat:=51
End Sub
我只想指出,使用这种方法,用户必须在
InputBox
中提供文件扩展名,我刚刚检查了这段代码,它在没有扩展名的情况下工作。Excel从FileFormat:=51
属性获取扩展名。您完全正确。我忽略了FileFormat
属性。谢谢,我会确保记下,如果我有正确的FileFormat属性,我以后可以跳过扩展!啊,谢谢!!我知道有办法,我花了很多时间在网上寻找解决办法。再次谢谢哇,是的,看起来好多了。谢谢你