こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ExecuteExcel4Macroでセル値取得

office2010

あるフォルダにファイルを入れて、ファイルを開かずに対象シートの対象セルの値を取得したいです。
この取得したいセル情報を、変数で指定したいのです。

C:\dataに取得元のファイルが入っています。

このファイル名((1))は、いろいろ変わりますが、中にH4という文字があります。
対象シートのシート名とセルアドレスは、別のファイル(これにマクロがあります)
のsettingシートで指定します。
1例ですが、settingシートの
B2に11_001
C2にAF9
と設定します。
(1)のファイルで11_001というシートのAF9セル値を取得したいのです。

Dim myPath As String
Dim myFile As String
myPath = "C:\data\"
myFile = Dir(myPath & "*H4*.xlsm")

Dim sheetname As String
Dim cell As String

sheetname = Worksheets("setting").Range("B2")
cell = Worksheets("setting").Range("C2").Value
'
'Range("A1") = ExecuteExcel4Macro("'[" & myFile & "]" & sheetname & "'!R9C32")

Range("A1") = ExecuteExcel4Macro("'[" & myFile & "]" & sheetname & "'!" & cell & "")

上記で、
Range("A1") = ExecuteExcel4Macro("'[" & myFile & "]" & sheetname & "'!R9C32")
は、値取得できます。
このR9C32を変数にする所で、エラーが発生します。
実行時エラー1004と。
いろいろWEB見て、’,スペース等を入れてみましたが、どうしても分からず、
Range("A1") = ExecuteExcel4Macro("'[" & myFile & "]" & sheetname & "'!" & cell & "")
の最後のセル指定を、変数で設定する方法を教えて頂きたく。

投稿日時 - 2017-11-21 19:31:43

QNo.9399835

暇なときに回答ください

質問者が選んだベストアンサー

>C2にAF9
C2セルにはA1形式ではなくR1C1形式で書かなくては R9C32
>ExecuteExcel4Macro("'[" & myFile & "]"
パスも指定しなくては
ExecuteExcel4Macro(("'C:\data\[Book1.xlsm]11_001'!R9C32")
ExecuteExcel4Macro("'" & myPath & "[" & myFile & "]" & sheetname & "'!" & cell)

投稿日時 - 2017-11-22 08:32:46

お礼

ありがとうございます。
助かりました。
パスも気になってました。

投稿日時 - 2017-11-22 10:38:21

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問