2015-07-10 66 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

相關問題