Excelでセル内容を含めた名称のBookをアクティブにする方法

このQ&Aのポイント
  • Excelで、Book1.xlsというブックの中のセルA1に入力されている内容を含めた名称のブックを開き、そのブックをアクティブにする方法を教えてください。
  • 現在のコードは、Workbooks.OpenFileName:="C:\Users\0000データ" & Range("A1").Value & ".xls" となっており、Book1のセルA1の内容と同じ名称のBookを0000データのフォルダ内から選んで開いています。
  • しかし、セルA1の内容を含む名称のBookを開く方法を知りたいです。例えば、Book1のセルA1がAAAという内容であれば、AAA田中.xlsを開きたいです。その後、Book1.xlsの内容をAAA田中.xlsにコピーして貼り付けたいです。また、次にBBB吉田.xlsの作業をする場合にもセルA1の内容を利用してBookをアクティブにする方法を教えてください。
回答を見る
  • ベストアンサー

セル内容を含めた名称のBookをアクティブにする

色々と検索して試しましたが、素人のため結局わからず困っています。質問させていただきますので、よろしくお願いいたします。 Excelで、Book1.xlsというブックの中の セルA1 に入力されている内容を含めた名称のブックを開き、そのブックをアクティブにする方法を教えてください。 現在は、 Workbooks.OpenFileName:="C:\Users\0000データ\" & Range("A1").Value & ".xls" となっていて、Book1のセルA1の内容と同じ名称のBookを0000データのファイルの中から選んで開くようにはなっています。 が、セルA1の内容を含む名称のBookを開くようにしたいのですが、できません。 例えば、Book1のセルA1がAAAという内容ならば、AAA田中.xlsを開く。(ちなみに、AAA斉藤など、AAAの部分が同じで後者が違うというようなBookはありません。でも、AAAやBBBの後者の文字は変動します。) その後、Book1.xlsの内容をコピーしてAAA田中.xlsの方に貼り付けをしたりする作業をしたいのですが、その都度AAA田中.xlsのBookをアクティブにするために、Windows("AAA田中.xls").Activateとしてしまうと、次にBBB吉田.xlsの作業をするなどとなった場合に使えませんので、この部分も、Book.xlsのセルA1の内容を利用して設定したいです。 どうか、よろしくお願いします。

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

  • ベストアンサー
  • kybo
  • ベストアンサー率53% (349/647)
回答No.2

以下の様な感じで開けばいいです。 Dim I As Variant I = Dir("C:\Users\0000データ\" & Range("A1").Value & "*.xls", vbNormal) Workbooks.Open Filename:="C:\Users\0000データ\" & I その同じコード内で、アクティブにするだけであれば、以下でいいです。 'アクティブにする Windows(I).Activate

sato-seizai
質問者

お礼

教えていただいた通りにやってみましたら、理想的な動作になりました!! 色々やってみたものの、なかなかできなかったので、本当に感謝・感謝です。 ありがとうございました。 自分も、もっと勉強していきます!

その他の回答 (1)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

いっそのこと、↓こんな感じで適当なセルに対象ブック名を入れるようにして、そのセルの値を使用してブックを開いたり、アクティブにしたりしては? Range("A2") = Dir("C:\Users\0000データ\" & Range("A1").Value & ".xls")

sato-seizai
質問者

お礼

なるほど!そうですね。 そういう方法もありですね! また、やってみたいと思います。 ありがとうございました。

関連するQ&A

  • 他のブックファイルのセルの参照が上手く行きません

    こんにちはよろしくお願いいたします。 エクセルのブックファイル(Book1.xlsx)に,他のブックファイル(Book2.xls)のセルの値を参照しようと思い”=”を入力し参照するブックファイルのセルをクリックし,「 =[Book2]Sheet1!$A$1 」のような参照を行いました。こうしてきちんと表示されました。 しかし,この参照の式を「 =[Book3]Sheet1!$A$1 」のように,他のブックファイル(Book3.xls)のセルに変更したところ,参照できなくなりました。ブックファイル(Book1.xlsx)には,「 =[Book3]Sheet1!$A$1 」という式そのものが表示された状態となっています。式は,キーボードを使って変更しました。もちろん,(Book3.xls)は,(Book2.xls)と同様のシート形式をもち,データも入力されています。 このような状態になると,先に挙げたように,”=”を入力して参照するブックファイル(Book3.xls)のセルをクリックしても,ブックファイル(Book1.xlsx)には,「 =[Book3]Sheet1!$A$1 」という式そのものが表示された状態となったままで,(Book3.xls)のデータは表示されません。 (Book2.xls)と(Book3.xls)のセルのデータは,文字列です。 気になるのは,(Book1.xlsx)はoffice2010で作成されたファイルであること,(Book2.xls)と(Book3.xls)は,互換モードと表示されるファイルであること,また表示されているファイルを見ると,フルパスで参照している点です。「 ='C:\aaa\bbb\・・・・・[Book3]Sheet1'!$A$1 」という参照式になっています。3つのファイルはすべて同一ファイルに入っています。 何が,参照を阻んでいるのでしょうか?教えてください。よろしくお願いします。

  • 参照先をセルに入力して、他のブックのセルを参照する方法

    Excelで、他のブックのセルを参照したいです。 たとえば、あるExcel(test.xls)上から、別のフォルダにある複数のブック C:\AAA.xls D:\BBB.xls の値を参照する場合ですが(AAA.xlsとBBB.xlsは、値の内容は違うが、同じシート名の同じセルに値が入っている)、 test.xlsのSheet1のA1に「C:\」、A2に「AAA.xls」を入力すると、test.xlsのSheet2にはAAA.xlsの値を表示し、 test.xlsのSheet1のA1に「D:\」、A2に「BBB.xls」を入力すると、test.xlsのSheet2にはBBB.xlsの値を表示するような方法です。 参照先が固定であれば、='C:\[AAA.xls]Sheet名'!D5・・・のような指定ができるのですが、参照するファイル名とパス名が都度変わるので、入力したセルの値で参照先を変えたいのです。 ちなみに、INDIRECTを使うやり方も考えましたが、参照先のブックを開いていないと値が表示されないようなので、却下されました。 (参照先のブックは開かなくても値を参照させたいです) どなたかご存知の方がいらっしゃったら、教えてください。 よろしくお願いします。

  • 別なブックのセルのリンク内容を結合したい

    =[Book1.xls]sheet1!D20 & [Book1.xls]sheet1!D21とBook2のセルに代入するとそのまま表示(数式が)されます。ところが&でつなげずに別なセルにそれぞれリンクを貼り付けるとリンク元の内容が反映されます。 同じブック内のセルのリンクでは問題ないのですが、ブックをまたぐと不可能なのでしょうか?

  • 同じフォルダにある複数のブックから、同じ場所のセルとグラフを取得したい

    同じフォルダにある複数のブックから、同じ場所のセルとグラフを取得したいです。 同じフォルダに以下のフォルダを置いています。 ・個別データ(AAA).xls ・個別データ(BBB).xls ・個別データ(CCC).xls ・個別データ(DDD).xls ・集計用.xls  ※個別データのフォーマットは同じものです。 それぞれの「個別データ」にある「チェックリスト」から ○ブック名 ○グラフ(「Chart 10」) ○同じセル(ここではA1とします)の文字列 を取得して、「集計用.xls」に一覧として並べたいと思っています。 このような作業を関数、もしくはVBAで実現することは可能でしょうか? ※グラフそのものだけの取得が難しければ、  グラフのデータ(A2~A5)の数値の取得でも大丈夫です。 VBA初心者であれこれ調べながらチャレンジしていたのですが どうもうまく出来なくて困っております。 ぜひお知恵を貸してください。 宜しくお願いいたします。

  • エクセルで他シートの同名セルと比較して条件付き書式設定

    初心者で式はあっているような気がするのですがどうしても色がついてくれません。助けてください。 Book1のsheet1 1 aaa 2 bbb 3 ccc Book2のsheet1 A B 1 aaa ちなみにaaaとbbbはBook1のsheet1をVLOOK UPで読ませています 2 bbb 3 eee Book2のsheet1のaaaとbbbを条件付き書式設定で色をつけたいのですが うまくつきません。 式は=VLOOKUP(A1,INDIRECT("[Book1.xls]Sheet1!$A$1:$B$5"),2,FALSE) と入れました。助けてください。

  • bookからbookへの数式のコピーについて教えてください

    bookからbookへの数式のコピーについて ??BookのSheet1のセルにSheet2を参照にした数式が入っています =2+Sheet2!$A8 これを!!BookのSheet1のセルにコピーすると =2+[Book1.xls]Sheet2!$A8 こうなりました コピーしたセルは11,475セルあります [Book1.xls]をすべて消したいのですが、簡単な方法はありますか?

  • EXCEL2010 他ブック セル参照

    Book1のA1セルに、Book2のA1セルを参照するため、 ='D:\TEMP\[Book2.xls]Sheet1'!$A$1 を入力しています。 Book2のSheet1には、マクロを組んでいて、その結果を$A$1から$C$50の範囲に表示させています。 Book1のA1からC50までには、Book2のA1セルからC50までには、同様の式を入力しています。 ご教授願いたい内容は、Book2のマクロ実行後に、Book1に='D:\TEMP\[Book2.xls]Sheet1'!$A$1 を入力した場合は、その結果が表示されるのですが、その後にBook2を更新しマクロ実行すると、Book1の式が='D:\TEMP\[Book2.xls]Sheet1'!'!#REF!とエラーになってします。 Book2を開いて、整列表示の場合でも(='[Book2.xls]Sheet1'!$A$1)結果は、同じです。 何か大事なことを忘れている?または、マクロ実行結果を参照するのは元々無理なのか?悩んでいます。 一応ネット検索したのですが、該当する対処方法が見つけられず、困っています。 解決方法をご教授いただきたく、お願いいたします。

  • エクセルでブック間のシートの合体?教えてください。

    エクセルの作業で困っちゃいました。 同じホルダー内に 0210A.xls、sから0309A.xlsの12種類 0210B.xls、sから0309B.xlsの12種類 0210C.xls、sから0309C.xlsの12種類 0210D.xls、sから0309D.xlsの12種類 の48のブックがあります。(0210は2002年10月の意味です。) 各ブックは複数のシートを持っており、各ブックに共通してあるのは「AAA」、「BBB」、「CCC」の3種類で、それ以外のシートもあります。シートの順番は各ブックによりまちまちです。 これらのブックの共通する3種類のシートだけを合体して 0210AB.xlsから0309AB.xlsの12種類、(AとBの合体) 0210CD.xlsから0309CD.xlsの12種類、(CとDの合体) の24種類のブックを作りたいのです。 各ブックは「AAA」、「BBB」、「CCC」の3シートを持ちます。中身はオリジナルの各「AAA」、「BBB」、「CCC」の単純な寄せ集めです。 データは各シートとも1行目に項目、2行目以降にデータで、列はAF列まで使用しています。データの個数はまちまちで、オートフィルターを使用しています。 たとえば、0210A.xlsのシートAAAが200行であれば0210BのシートAAAのデータの一行目の項目は不要ですので2行目から最終行までコピーして201行以降に貼り付けるという感じです。同様にシートBBB、シートCCCも処理します。各シート1行目はオリジナルと同じ項目名とします。 手作業でやろうと思いましたが、誤りの発生もこわいのでVBAなどでうまくできる方法はないでしょうか?わたしのVBAの知識はマクロ自動記録ができるくらいなので助けてほしいのです。 Windows2000でエクセルも2000です。 よろしくお願いしま~す。

  • エクセルで、ヘッダーに他のシートのセルの内容を表示させたいのですが。

    エクセル2003を使用しています。 一つのブックに複数のシートがあり、シート「AAA」のセル「B3」にある内容を、シート「BBB」のデータを印刷する際にヘッダー部分に自動で表示(印刷まで)させたいのですが、そのようなことは可能なのでしょうか? 可能であれば、どのようにすればよいでしょうか。

  • EXECLの変更を保存せずブック強制的に閉じる

    お世話になります VISTAとXPのマクロで下記の様な事が出来るでしょうか? 条件(1) AAA.xls と BBB.xls 2つファイルを開き BBB.xls の ファイル作業後にこのファイル変更を保存せずに ブック強制的に閉じる このときAAA.xls は閉じない 条件(2) BBB.xls の ファイル作業後にこのファイル変更を保存せずに ブック強制的に閉じる このときアプリケーションも終了したい  (このときは他にEXECLファイルは開いていない) よろしくお願いいたします。

専門家に質問してみよう