使用文件名作为范围

时间:2015-07-10 14:31:41

标签: excel vba excel-vba csv filenames

MS Excel 2010 VBA - 教我自动化,已经碰壁了。我正在使用VBA从一个工作簿中提取原始数据并将其插入到分析工作簿中 示例 - 原始数据存储在名为 某事 的文件中的工作表的G列中.csv我提取文件和工作表名称,通过其他步骤添加“G”我已经分配了文件&表& G为变量,因为数据文件名永远不会相同。分析文件包含宏。

如果文件和工作表名称是:“[REPORT.csv]报告!”

RptName ="[REPORT.csv]REPORT!G"
PulledData = Range(RptName & rawdatarow)

但如果文件和工作表名称为“[873686.0-05.csv] 873686.0-05!”,则无效。或类似的。

RptName = "[873686.0-05.csv]873686.0-05!G"
PulledData = Range(RptName & rawdatarow)

任何帮助都受到了极大的赞赏!!

1 个答案:

答案 0 :(得分:0)

你需要在带有数学符号或其他特殊字符的引用周围使用单引号,例如空格。

你必须改变

RptName = "[873686.0-05.csv]873686.0-05!G"

RptName = "'[873686.0-05.csv]873686.0-05'!G"

单引号版本即使没有特殊字符也可以使用,因此这是最简单的方法,而不是试图找出你必须使用引号的地方