みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

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

締切り済みの質問

エクセルvbaに関する質問です

ExecuteExcel4Macroを使った際について質問があります。
別ブックのセルを参照したいために、ExecuteExcel4Macroを使いました。
1つ目のmsgboxではパスを変数で、二つ目のmsgboxではパスを直書きしています。
下記のサンプルプログラムで2つとも同じものを表示させたいのですが、別の結果が表示されます。
=====サンプルプログラム=====
Sub Sample1()
Dim name As String
Dim path As String
Dim sheet As String
path = "C:\Users\USER\Desktop\シフト表\新しいフォルダ\"
name = "book1.xls"
sheet = "Sheet1"
Application.DisplayAlerts = False
MsgBox ExecuteExcel4Macro("'" & path & "[" & name & "]" & sheet & "'!R1C1")
MsgBox ExecuteExcel4Macro("'C:\Users\USER\Desktop\シフト表\新しいフォルダー\[book1.xls]Sheet1'!R1C1")
Application.DisplayAlerts = True
End Sub
===ここまで=====
実際のbook1.xlsのA1セルには「1」が入っているのですが、変数で書いた場合のみ「aaaaaa」が表示されます。

どうかご教授いただけたら幸いです。

投稿日時 - 2018-12-20 10:51:29

QNo.9569596

すぐに回答ほしいです

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

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

回答(3)

ANo.3

間違い探しみたいな質問か?
Googleで「フォルダ」で検索すると
>フォルダーとフォルダ どっちが公式名称ですかね?
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1262279262
>「フォルダ」が「フォルダー」に、マイクロソフトが長音表記を変更
https://internet.watch.impress.co.jp/cda/news/2008/07/25/20381.html
なんて記事があるよ。
ーー
フォルダーの中のファイル(=ブック)の名前の一覧をシートに表示してみて
納得できるだろう。
それもVBAでやるなら、WEBでたくさん記事があり、すぐ見つかるよ。
ー>Googleで「excel vba フォルダ 内のファイル名を取得」で照会。
ーー
また今どき、マニアックにExecuteExcel4Macroを使うのも、どうかと思う。

投稿日時 - 2018-12-20 13:53:11

ANo.2

修正案その1
path = "C:\Users\USER\Desktop\シフト表\新しいフォルダ\"

path = "C:\Users\USER\Desktop\シフト表\新しいフォルダー\"
この場合、どちらも「aaaaaa」が表示されるようになります。

修正案その2
MsgBox ExecuteExcel4Macro("'C:\Users\USER\Desktop\シフト表\新しいフォルダー\[book1.xls]Sheet1'!R1C1")

MsgBox ExecuteExcel4Macro("'C:\Users\USER\Desktop\シフト表\新しいフォルダ\[book1.xls]Sheet1'!R1C1")
この場合、どちらも「1」が表示されるようになります。

なお
C:\Users\USER\Desktop\シフト表\
のフォルダを見ると「新しいフォルダ」と「新しいフォルダー」の2つのフォルダがある筈なので、確認してみて下さい。

投稿日時 - 2018-12-20 11:33:57

ANo.1

見ているフォルダが違います。
最初のMsgBoxではフォルダ「新しいフォルダ」内のbook1.xlsが対象ですが、2つ目のMsgBoxでは「新しいフォルダー」内のbook1.xlsが対象になっています。

投稿日時 - 2018-12-20 11:13:40

あなたにオススメの質問