2014-06-13 58 views
0

我有一個簡單的問題,應該很容易回答。我正在嘗試使字符串反映單元格的值。它將導入的電子表格的命名方案是「(CSV)&(」[1] .csv「)的值,沒有空格。CSV是B5的值。如果變量CSV = WASHINGTON,我需要該行閱讀將字符串值設置爲基於Visual Basic中的單元格的變量

Windows(WASHINGTON[1].csv).Activate 

下面是我有什麼,我有與CSV可變錯誤。

Sub Import_CSV() 

Import_CSV Macro 

    Dim CSV As Long 
    Application.DisplayAlerts = False 
    Windows("Records.xlsm").Activate 
    Worksheets("Data").Activate 
    CSV = Cells(5, "B").Value 
    Windows(CSV & "[1].csv").Activate 
    Rows("1:2").Select 
    Range("A2").Activate 
    Selection.Cut ... etc 

任何幫助是極大的讚賞。

+1

W h t t錯誤還是這是一個猜謎遊戲? – pnuts

+1

*我的錯誤是什麼?*你爲什麼不告訴我們錯誤是什麼,然後我們可以告訴你如何解決它。 –

+2

你已經聲明瞭'CSV As Long',但你期待'String'數據類型。這對於任何非數字值幾乎肯定會引起不匹配錯誤。 –

回答

2

您已經聲明CSV As Long但你期待String數據類型,這幾乎可以證明對任何非數字值都會產生不匹配錯誤。

聲明Dim CSV as String並且應該解決它。

注意:這假定指定的文件已經打開。如果沒有,您將在.Activate聲明中看到錯誤。

您還應該避免使用ActivateSelect方法。這裏對於一些資源解釋爲什麼:

How to avoid using Select in Excel VBA macros

請,將來做說明你的實際問題是什麼更好的工作 - 如果你得到一個eerror消息,表明該消息是什麼,它在哪一行提出。這是非常有用有助於其他誰試圖幫助你。

+1

...並使用Option Explicit? – pnuts

相關問題