这是我在该网站上的第二篇文章,对VBA来说我还是一个新手。
我今天的问题是
如何将单元格值添加到“路径字符串”以指定要保存工作簿的文件夹。
Dim Path As String
Dim FileName1 As String
Dim FileName2 As String
Path = "D:\folder1\folder2\Projects\The FILES\theFILES\"FileName1"\
FileName1 = Range("B6")
FileName2 = Range("A1")
ActiveWorkbook.SaveAs Filename:=Path & FileName2 & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
提前致谢!
回答所述问题
Path = "D:\folder1\folder2\Projects\The FILES\theFILES\" & FileName1 & "\"
另请参阅其他反馈和更正的代码,以获取其他反馈。
详细说明
将值分配给字符串变量后,最常用的方式是这样的:
string = "This is my string value."
但是,您可能经常会在代码中看到一个带有相当长字符串的语法,例如以下代码,以使所有文本都可以在开发屏幕上显示而无需滚动:
string = "This is my really, really, really long string value. I am making this " _
& "as long as I can, while also having something to write."
如果您取消了_
,然后将所有内容移到一行,它将显示为:
string = "This is my really, really, really long string value. I am making this " & "as long as I can, while also having something to write."
请注意,任何分配给变量的字符串都可以通过以下方式分解:
string = "This is" & " my " & "string value."
' Returns the same result as:
string = "This is my string value."
此外,如果我有一个字符串变量,str_val = " my "
则可以使用替换将上述示例编写为:
string = "This is" & str_val & "string value."
附加反馈
当前,您的代码顺序(请参见下面的原始代码)为:
不幸的是,遵循此顺序意味着在步骤2)中,的值为FileName1
空字符串""
,因为尚未为其分配值。
因此,您应遵循的顺序是:
字符串中的其他变量
@Davesexcel暂时发布了一个答案(然后更改),该答案假定您的字符串中的folder1
andfolder2
也都是变量。我附上了替代代码,以确保确实如此。
原始码
Dim Path As String
Dim FileName1 As String
Dim FileName2 As String
Path = "D:\folder1\folder2\Projects\The FILES\theFILES\"FileName1"\
FileName1 = Range("B6")
FileName2 = Range("A1")
ActiveWorkbook.SaveAs Filename:=Path & FileName2 & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
更正的代码
Dim Path As String
Dim FileName1 As String
Dim FileName2 As String
FileName1 = Range("B6")
FileName2 = Range("A1")
Path = "D:\folder1\folder2\Projects\The FILES\theFILES\" & FileName1 & "\"
ActiveWorkbook.SaveAs Filename:=Path & FileName2 & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
替代代码
Dim Path As String
Dim FileName1 As String
Dim FileName2 As String
FileName1 = Range("B6")
FileName2 = Range("A1")
Path = "D:\" & folder1 & "\" & folder2 & "\Projects\The FILES\theFILES\" & FileName1 & "\"
ActiveWorkbook.SaveAs Filename:=Path & FileName2 & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句