• 締切済み

シート挿入について

ExcelFile A とExcelFile Bがあります。 まずAを開きB挿入ボタンでBを別シートで読み込みを行なっていますが B(固定)ではなくBを含む文字列にしたいのですが どのようにすればいいのでしょうか? 現在の設定は Workbooks.Open Filename:=Workbooks("A.xls").Path & "\B.xls" となっています。

みんなの回答

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.3

>Workbooks.Open Filename:=Workbooks("A.xls").Path & "\B.xls" Workbooks.Open Filename:=Workbooks("A.xls").Path & "\" & workbooks("A.xls").worksheets("sheet1").range("a1").value & "B.xls" このように変更すれば、Aファイルのシート1のセルA1に入力すれば 入力した文字がB.Xlsの前に付きます worksheets("sheet1").range("a1").value の部分のシート名、セル番地を変更すれば お好きな場所で開くファイル名(B.Xlsの前まで)を変更可能

nghm
質問者

お礼

ありがとうございます。 B.xlsはあらかじめ1234-567-B.xlsといった具合に名前が付けられていますので上記内容ではできません。

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

ファイル名をプログラム側で指定できるなら、"\B.xls"のところを変数にしておいて、変数の内容を変えてあげればよいでしょう。 事前にファイル名がわからない場合は、No.1の回答のようにDir()関数でワイルドカード利用の指定をして、Bを含むファイルを取得する方法になるでしょう。

nghm
質問者

補足

有難うございます。 事前にファイル名が分からないのでワイルドカード?の利用となりそうですが、具体的にどうすればいいのでしょうか? 初心者で申し訳ありません。 もう少し分かりやすければ助かります。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

>B(固定)ではなくBを含む文字列にしたいのですが ファイル名は正しく指定しないと開く事はできません。 Dir()関数とループ文を使って、任意の名前を含むファイルを順々に開いて処理する必用があります。

nghm
質問者

補足

ありがとうございます。 ではBを含む文字列と書きましたが、実は1234-567-B.xls というファイルで1234-567は変わる場合があります。(7654-321-B.xlsなど) こういった場合の設定方法はどうなるのでしょうか?

関連するQ&A