2015-07-10 69 views
0

MS Excel 2010 VBA - 教导我自动化,遇到困难。我使用VBA从一个工作簿提取原始数据并将其插入分析工作簿。
实施例 - 原始数据被存储在一个片的G列于命名为东西的.csv我提取文件和表名称,通过其它步骤添加一个“G”文件,我已经分配了文件&片G为一个变量,因为数据文件名称从不相同。分析文件包含宏。使用文件名作为范围的一部分

如果文件和工作表名称为:“[REPORT.csv] REPORT!”,此工作正常。

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

请勿对MS Office/VBA使用[**宏标签](http://stackoverflow.com/tags/macros/info)。 –

+0

对不起 - 错误是运行时错误'1004':对象'_Global'的方法'范围'失败 – Didact

回答

0

您需要围绕具有数学符号或其他特殊字符(如空格)的引用进行单引号引用。

你将不得不改变

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

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

单引号版本将工作,即使没有特殊字符,所以这将是去所有情况下,最简单的方法,而不是试图找出你必须使用引号的地方

+0

完成了!谢谢! – Didact

相关问题