如何在路径中使用变量编写VBA

肯尼

这是我在该网站上的第二篇文章,对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."

附加反馈

当前,您的代码顺序(请参见下面的原始代码)为:

  1. 定义变量
  2. 给路径赋值
  3. 将值分配给FileName1
  4. 将值分配给FileName2
  5. 保存存档

不幸的是,遵循此顺序意味着在步骤2)中,的值为FileName1空字符串"",因为尚未为其分配值。

因此,您应遵循的顺序是:

  1. 定义变量
  2. 将值分配给FileName1
  3. 将值分配给FileName2
  4. 给路径赋值
  5. 保存存档

字符串中的其他变量

@Davesexcel暂时发布了一个答案(然后更改),该答案假定您的字符串中folder1andfolder2也都是变量。我附上了替代代码,以确保确实如此。


原始码

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在python中使用环境变量编写正确的文件路径?

如何在文件路径中使用变量

如何在文件路径中使用变量

如何在VBA中使用日期变量

如何在R中使用变量编写SQL查询?

如何在HTML的<links> href路径中使用变量

如何在Delphi搜索路径中使用系统变量?

如何在Qt StyleSheet中使用包含文件路径的变量

如何在bash中使用带有星号“*”的路径的变量?

如何在命令参数中使用路径变量

如何在 PHP 中使用路径而不是 GET 变量?

如何在 HTML img src 路径中使用变量

%如何在路径中使用

如何在 python 中编写文件,以变量作为路径?

如何在 Haskell 中使用 (=<<) 编写 (<*>)

如何在F#中使用可变变量编写+ =操作

如何在Tensorflow 0.11中使用RNN编写多维回归预测变量

如何在许多列中使用相同的变量编写mysql prepare语句?

我如何在python中使用变量编写指数级和的函数?

如何在Python中使用PIL使用变量而不是路径打开图像文件?

如何在Apache http mod_rewrite中使用原子作为路径变量?

如何在RequestMapping中使用正则表达式路径映射器变量?

如何在环境变量或相对路径中使用替换指令

在Terraform中,如何在请求路径中使用变量指定API网关端点?

JMeter-如何在HTTP请求路径中使用动态变量

如何在 Linux 路径中使用变量的值来显示内容?

如何在另一个脚本的路径中使用变量?

如何在Python3中使用变量创建json文件路径?

如何在VBA中使用单元格中的文件路径?