2017-02-24 8 views
2

あまりにも多くの行を書くことを避けるために次のコードを試しましたが(リストが長すぎるため134を超える)、ファイルを開こうとする行にエラーがあります。私はファイルを開くための参照の配列を持つ配列

は、あなたが私を助けることができるファイルを開こうとすると

Sub update_chemicals() 
'update chemical database with macroeconomic indicators 

'Dim local_main As String 

Dim mylocal As Variant 
Dim local_final As String 

Dim myname As Variant 
Dim name_final As String 

'disrectories references 
Dim local_1 As String 
Dim local_2 As String 
Dim local_3 As String 
Dim local_4 As String 
Dim local_5 As String 

'Files 
Dim name_1 As String 
Dim name_2 As String 
Dim name_3 As String 
Dim name_4 As String 
Dim name_5 As String 

'Coal 
local_1 = "G:\path\01. CARVAO\Carvao.V1.xlsm" 
name_1 = "Carvao.V1.xlsm" 

'Perlita 
local_2 = "G:\path\Perlita.xlsm" 
name_2 = "Perlita.xlsm" 

'Diatomaceus Earth 
local_3 = "G:\path\Terra_Diatomacea.xlsm" 
name_3 = "Terra_Diatomacea.xlsm" 

'Chloridric Acid 
local_4 = "G:\path\Chloridric_Acid_v2.xlsm" 
name_4 = "Chloridric_Acid_v2.xlsm" 

'Hexane and Gasoline 
local_5 = "G:\path\Price History - Hexane and Gasoline - PLATTS - Jan'17.xlsm" 
name_5 = "Price History - Hexane and Gasoline - PLATTS - Jan'17.xlsm" 


mylocal = Array("local_1", "local_2", "local_3", "local_4", "local_5") 

myname = Array("name_1", "name_2", "name_3", "name_4", "name_5") 

    '/////////////////////////////////////////////// COAL \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 

For x = 0 To 4 

    local_final = mylocal(x) 
    name_final = myname(x) 

     Workbooks.Open filename:=local_final 

エラーが表示されます。ここでは

はコードの考えですか?

+1

は、あなたの周りの引用を削除Array( "local_1"、 "local_2" ...)であり、Array(local_1、local_2 .......)はmyname配列と同じです。 –

答えて

3

mylocal = Array("local_1", "local_2", "local_3", "local_4", "local_5")

myname = Array("name_1", "name_2", "name_3", "name_4", "name_5")

それはあなたが文字通りの配列ではなくlocal_1 & NAME_1の値に& NAME_1をlocal_1格納していることを意味します。

+0

ありがとうございました!それは働いた... –

2

変数名の文字列を、あなたは変数自体を呼び出す必要があり、このラインではない置き換えます

mylocal =アレイ(local_1、local_2、local_3、local_4、local_5)

+0

@Petter_Mendesそれがあなたのために働いた場合、これは正しい答えとしてマークしてください。 tnx – Ibo

関連する問題