
No.2ベストアンサー
- 回答日時:
こんばんは。
作成例:
sub macro1()
dim b as string
dim b1 as string
b = range("A1").value
b1 = range("B1").value
range("C1").formula = "='D:\A\" & b & "\[" & b1 & ".xlsx]Sheet1'!合計"
end sub
作成例:応用
sub macro2()
range("C2").formula = "='D:\A\" & range("A2").value & "\[" & range("B2").value & ".xlsx]Sheet1'!合計"
’以下オプション
’range("C2").value = range("C2").value
end sub
作成例:INDIRECT関数を使う場合
sub macro3()
dim myPath as string
dim myFile as string
dim w as workbook
mypath = "D:\A\" & range("A1").value & "\"
myfile = range("B1").value & ".xlsx"
set w = activeworkbook
workbooks.open mypath & myfile
w.select
range("C1").formula = "=INDIRECT([" & myfile & "]Sheet1!合計)"
workbooks(myfile).close false
end sub
#補足
INDIRECT関数では、「閉じたブック」への参照を可変にすることは「できません」。
No.3
- 回答日時:
ん?
>やはりマクロしかありませんか?!
別に出し惜しみやイジワルをしてるワケではありません。そういう便利な方法があれば、さっさとそう回答しています。
ご相談に書かれた「その通りの事」をしたければ、こうしますと回答しているのです。
どうしてもINDIRECT関数が使いたいなら、回答したマクロの3番目でやっているのと全く同じく、手動でブックを開いてください。
その場合は「どこのブック」は手で開いた時点で確定していますから、ブック名だけが可変になります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
横にコピーするマクロを教えて...
-
Excel UserForm の表示位置
-
「段」と「行」の違いがよくわ...
-
Excel VBAでのWorksheet_Change...
-
マクロの「SaveAs」でエラーが...
-
VBAマクロ実行時エラーの修正に...
-
エクセルVBA 配列からセルに「...
-
土日の列幅の自動変更を教えて...
-
VBA シートをコピーする際に Co...
-
Worksheets メソッドは失敗しま...
-
Excel グラフのプロットからデ...
-
【マクロ】実行時エラー '424':...
-
Cellsのかっこの中はどっちが行...
-
VBAを使って検索したセルをコピ...
-
VBAで結合セルを転記する法を教...
-
エクセルVBAが途中で止まります
-
EXCELで最後の行を固定
-
エクセル マクロで数値が変っ...
-
エクセルで離れた列を選択して...
-
マクロ実行後に別シートの残像...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UWSCを使用して、ドロップダウ...
-
横にコピーするマクロを教えて...
-
英文の和訳をお願い
-
excel vba
-
英→和訳助けて下さい!!!
-
RPGツクール95のアップデートパ...
-
バイトを変換するスクリプト
-
強調構文について It is only a...
-
VBA sum ワークシートChange
-
【マクロ】実行時エラー '424':...
-
「段」と「行」の違いがよくわ...
-
Excel UserForm の表示位置
-
エクセルで離れた列を選択して...
-
マクロの「SaveAs」でエラーが...
-
エクセル 上下で列幅を変えるには
-
Excel VBAでのWorksheet_Change...
-
Excelで、あるセルの値に応じて...
-
【Excel関数】UNIQUE関数で"0"...
-
VBA シートをコピーする際に Co...
-
Worksheets メソッドは失敗しま...
おすすめ情報