• ベストアンサー

エクセルのシート読み込み

Excel2000を使用してます。 前回質問したのですが解決できなかったので再度質問します。 ExcelFile A とExcelFile Bがあります。 まずAを開きBを別シートで読み込みを行ないたいのですが どのようにすればいいのでしょうか? ExcelFile A はタブ1とタブ2の二つのシートに分かれています。 ExcelFile Bはタブが一つでこのタブを丸ごとExcelFile Aのタブ3 として挿入を行いたいだけです。 イメージしているのはExcelFile Aの一枚目のシートに ExcelFile B挿入ボタンを設置してこのボタンを押すだけでExcelFile Bがシート三枚目に入ってくるといった感じです。

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

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

マクロはA.xlsに書いてありますか? Bを開くコードをこれにして見てください。 Workbooks.Open Filename:=Workbooks("A.xls").Path & "\B.xls" また、Bのブック自体を変更するわけではありませんので、Bはそのまま残ります。またマクロはワークシートオブジェクトに書いてあるマクロに付いてはシートと一緒に付いてきます。

nghm
質問者

お礼

ありがとうございました。 凄いですね。出来ましたよ。 今までお付き合いしてもらってありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (6)

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

> こんな感じになりますけど駄目でした。 何がどう駄目だったのですか?これでは判りません。 B.xlsに入っていると言うマクロはOpen時に何か処理をして終了してしまうマクロだったりはしませんか?

nghm
質問者

補足

毎度すいません。 エラーの内容は 実行時エラー'1004' B.xlsが見つかりません。ファイル名及び保存場所が正しいかどうか 確認してください。 デバックで見てみるとファイルオープンの行で黄色になっています。 AとBは同じ場所にあります。 また、Bのマクロは実行後に終了してしまうものでもありません。 気になるのがBのシートを持ってこれたとしてBのブックに記録している マクロがなくなってしまうのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.5

No.2です。 > ExcelFileAと同じ場所にExcelFileBがあれば > 呼び込み出来るようにする場合パスの指定方法はどうしたら良いのでしょうか? ExcelFileAとExcelFileBが同じパスにあるのでしたら、Workbooks.Open の時にパスの指定はいりません。ExcelFileBのファイル名だけで開けます。 開く前にExcelFileBが存在するかどうか調べたいのでしたらDirで調べます。 こんなものでよろしいですかね?

nghm
質問者

補足

有難うございます。 こんな感じになりますけど駄目でした。 何が原因なのでしょうか? Sub B読み込み() Workbooks.Open Filename:="B.xls" Sheets("B").Select Sheets("B").Move After:=Workbooks("A.xls").Sheets(7) ActiveWindow.WindowState = xlMaximized End Sub ExcelFileBのシート名はファイル名と同じです。 ExcelFileAのシートは7個存在しています。 AとBは同じ場所にあります。 また、AとBはそれぞれ別のマクロが記録されています。 しつこくてごめんなさい(汗)

全文を見る
すると、全ての回答が全文表示されます。
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.4

ExcelFile A とExcelFile Bは必ず同じフォルダにあるのが条件 Workbooks.Open Filename:=Workbooks("ExcelFile A").Path & "BookB.xls" 下記を実行して、セルを右クリック Sub test_1() With Application.CommandBars("Cell").Controls.Add() .Caption = "テストテスト" .OnAction = "test_2" End With End Sub SUB test_2 msgbox "テストテスト" END SUB 後はHELPを参照してください

nghm
質問者

お礼

ありがとうございました。 参考になりました。

全文を見る
すると、全ての回答が全文表示されます。
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

No.2です > ExcelFileA とExcelFileBは実際のファイル名に変更すればいいのですよね。(今やってみたら駄目だったので・・・) > また、ExcelFileBの場所はExcelFileAと同じ場所ではないと駄目なのですよね。 ファイル名やパスは変更してください 例:Workbooks.Open Filename:="D:\hoge\BookB.xls" > もう一つ、これをボタンに設定したいのですがどうしたらいいのですかね。 この辺を参考にしてください http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_130_02.html

nghm
質問者

補足

有難うございました。 何とかできそうです。最後にもう一ついいですか? ExcelFileAの実行場所は毎回違う場所になっている為、 パスを予め設定できません。 ExcelFileAと同じ場所にExcelFileBがあれば 呼び込み出来るようにする場合パスの指定方法はどうしたら良いのでしょうか? 何度も申し訳ありません。

全文を見る
すると、全ての回答が全文表示されます。
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

こんな感じですかね。 ファイルAに以下のマクロを入れて動かして見てください。 Sub Sample()  Workbooks.Open Filename:="ExcelFileB.xls"  Sheets(1).Select  Sheets(1).Move After:=Workbooks("ExcelFileA.xls").Sheets(Workbooks("ExcelFileA.xls").Sheets.Count) End Sub Bを開いて、シートの移動でAのシート末尾に移動 と言うことをやっています。

nghm
質問者

補足

有難うございます。 ExcelFileA とExcelFileBは実際のファイル名に変更すればいいのですよね。(今やってみたら駄目だったので・・・) また、ExcelFileBの場所はExcelFileAと同じ場所ではないと駄目なのですよね。 もう一つ、これをボタンに設定したいのですがどうしたらいいのですかね。

全文を見る
すると、全ての回答が全文表示されます。
  • inu_saru
  • ベストアンサー率50% (4/8)
回答No.1

シートのコピーじゃまずいんでしょうか? そのファイルAとBを合体させて一つのファイルC(仮)にして そのファイルCにはAとBのシート、つまり3シートがある。 そういう状態ではまずいんでしょうか? 任意の瞬間に挿入ボタンを押して挿入したいのですか?

nghm
質問者

補足

有難うございます。 "任意の瞬間に挿入ボタンを押して挿入したいのですか?" その通りです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • EXCELファイル挿入について

    Excel2000を使用してます。 前回質問したのですが問題が生じたので再度質問します。 ExcelFile A とExcelFile Bがあります。 まずAを開きBを別シートで読み込みを行ないたいのですが どのようにすればいいのでしょうか? ExcelFile A はシート1とシート2の二つのシートに分かれています。 ExcelFile Bはシートが一つでこのシートを丸ごとExcelFile Aのシート3として挿入を行いたいだけです。 以前に質問した際にはExcelFile B(固定名)でしたが、 それは無事解決できました。 問題はExcelFile Bは常に固定名ではないということです。 ただBという文字列ははいっています。 (1234-567-B.xlsといった具合で7654-321-B.xlsとなる場合もあります) イメージしているのはExcelFile Aの一枚目のシートに ExcelFile B挿入ボタンを設置してこのボタンを押すだけでExcelFile Bがシート三枚目に入ってくるといった感じです。 マクロ設定でBの文字列検索を行い当てはまった場合挿入します。 なかった場合はメッセージを出します。 ExcelFile AとExcelFile Bは同じ場所にあります。 こんな感じなのですができるでしょうか? 具体的にマクロを作成してもらえたら大変うれしいです。

  • シート挿入について

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

  • 別ExcelFileの挿入について

    ExcelFile A とExcelFile Bがあります。 まずAを開きBを別シートで読み込みを行ないたいのですが どのようにすればいいのでしょうか? できれば読み込みボタン一つで読み込めればいいと思っています。 (読み込みファイル名(B)は固定の名前にしておく)

  • EXCEL VBA 複数シートを1シートまとめる

    お世話になります。 面談.xlsというブックがあります。 このブックの中には一番左に[集計]というシートがあり、右隣から[個人別面談 田中],[個人別面談 山本],[個人別面談 高橋],という個人別のシートが複数あります。(可変です) やりたいこと (1)[集計]シートに[集計開始]というボタンを設置してクリック (2)右隣の[個人別面談 田中]シートを読み込む (3)[集計]シートのB1に[個人別面談 田中]のA1を挿入 [集計]シートのB2に[個人別面談 田中]のB1を挿入 [集計]シートのB3に[個人別面談 田中]のC1を挿入 (4)次の[個人別面談 山本]シートを読み込む (5)[集計]シートのC1に[個人別面談 山本]のA1を挿入 [集計]シートのC2に[個人別面談 山本]のB1を挿入 [集計]シートのC3に[個人別面談 山本]のC1を挿入 (6)次の[個人別面談 高橋]シートを読み込む (7)[集計]シートのD1に[個人別面談 高橋]のA1を挿入 [集計]シートのD2に[個人別面談 高橋]のB1を挿入 [集計]シートのD3に[個人別面談 高橋]のC1を挿入 (8)完了! ※[集計開始]ボタンをクリックすると[集計]シートB1~D3の値は毎回クリアする仕様にしたいです 環境 Excel2013 会社でこのような仕組みをVBAで作れと言われましたが当方初心者で困っています。 どなたかお知恵をお借りできませんでしょうか? よろしくお願い致します。

  • エクセルで同ファイル他シートをリンクしたい

    win2000、EXCEL2002を使用してます。 シート1のA1にシート2のA1からB2を「図」として挿入しリンクさせたいのですが、 どうしたら良いでしょうか? お時間のあるときで構わないのでお願いします。

  • EXCEL sheet1 と sheet2 を使った精査

    sheet1のA列には○か空白がついており、 sheet1のB列には人の名前がついてます。 現在sheet2のA列は全て空白で sheet2のB列には人の名前が入っております。 例えば sheet1では   ○  田中 となっていて、 sheet2では  空白  田中 となっております。 sheet2に、 sheet1にて○がついていて、B列に同じ名前が入ってるものを sheet2のA列に○がつけたいのですが、 どのようにすればよろしいでしょうか? 説明が下手ですいません・・・ sheet2のA列に sheet1のA列と同じように○をつけたいのです。 B列のほうがファイル数が若干多い為、 単純にシートのコピーじゃ無理な状態です。 よろしくお願いします。

  • エクセルで商品を抽出するシートを作りたいです。

    エクセルで利益率の差額が大きく売上数が多い商品を抽出したいです。 質問は3点あります。 1.エクセルのタブに「入力」と「出力」という2つのタブを用意します。 入力タブのA1に商品名、B1に売掛金、C1に原価と直接入力して、 A2以下に入力すると出力タブのA2以下に転記される方法を教えてください。   (入力タブに入力した値を出力タブに表示する方法) 2.エクセルの入力タブに「追加ボタン」を設置して、   追加ボタンを押すと入力タブと出力タブに1行が追加される方法を教えてください。   (ボタンの設置方法と行数の増やす方法)   |レコード追加| 3.出力タブの売掛金と原価から開きが大きく、   かつ売り上げ数上位10位まで、20位まで、30位までの商品レコードを   抽出して行に色を付けるラジオボタンの設置方法を教えてください。   (ラジオボタンの設置方法と抽出して行に色を付ける方法)   |◎10位 ○20位 ○30位| 以上です。 よろしくお願いします。

  • Excelシートの自動更新

    Excel2013ブックAでシートの内容変更したのちリンクしている別のExcel2013ブックB~Dを開き更新をするボタンを押し更新して上書き保存しているが更新Excelブックが数部ありいちいちExcelブックを開き更新するのが面倒でなんとかExcel2013ブックA内変更後リンクExcel2013ブックB~Dの更新をボタン一括で自動更新したいのですがボタンにマクロ登録(VBAコード入力)とかでできますか。宜しくお願いします。

  • ExcelシートをWordに挿入する

    Excel2007で作成したシートをWordに貼り付けまたは挿入したいのですが、方法がわかりません。 ExcelシートをWordの文書(例えばA4縦)の幅に合わせて貼り付け、または挿入したいのです。

  • エクセルでシートにリンクを貼り付けているのですが元シートに行を挿入した

    エクセルでシートにリンクを貼り付けているのですが元シートに行を挿入した場合にリンク先シートの行も挿入になってほしいのですが・・・ 例えば Sheet1    A    B 1 Aさん  150 2 Bさん  270 3 Cさん  100 4 Dさん  300 5 Eさん  350 と入力し、Sheet2に以下の式?を入力した場合 Sheet2の式                   Sheet2の表示      A        B               A     B     1 =Sheet1!A1  =Sheet1!B1*2       1 Aさん  300 2 =Sheet1!A2  =Sheet1!B2*2       2 Bさん  540 3 =Sheet1!A3  =Sheet1!B3*2  ->  3 Cさん  200 4 =Sheet1!A4  =Sheet1!B4*2       4 Dさん  600 5 =Sheet1!A5  =Sheet1!B5*2       5 Eさん  700 このようになるかと思います。 Sheet1の3行目に行を挿入した場合ですが Sheet1    A    B 1 Aさん  150 2 Bさん  270 3 ←行の挿入→ 4 Cさん  100 5 Dさん  300 6 Eさん  350 Sheet2は以下のようになってしまします。 Sheet2の式                   Sheet2の表示      A        B               A     B     1 =Sheet1!A1  =Sheet1!B1*2       1 Aさん  300 2 =Sheet1!A2  =Sheet1!B2*2       2 Bさん  540 3 =Sheet1!A4  =Sheet1!B4*2  ->  3 Cさん  200 4 =Sheet1!A5  =Sheet1!B5*2       4 Dさん  600 5 =Sheet1!A6  =Sheet1!B6*2       5 Eさん  700 元シートに行を挿入した場合以下のようになってほしいのですが方法はございますでしょうか? Sheet2の式                   Sheet2の表示      A        B               A     B     1 =Sheet1!A1  =Sheet1!B1*2       1 Aさん  300 2 =Sheet1!A2  =Sheet1!B2*2       2 Bさん  540 3 =Sheet1!A3  =Sheet1!B3*2  ->  3  空白  空白 4 =Sheet1!A4  =Sheet1!B4*2       4 Cさん  200 5 =Sheet1!A5  =Sheet1!B5*2       5 Dさん  600 6 =Sheet1!A6  =Sheet1!B6*2       6 Eさん  700 因みにエクセルのバージョンは2003です。 いろいろと調べてみたのですがやり方を見つける事ができませんでした。 マクロを組めば出来そうな気もするのですがなにぶん素人なもので組み方もわからず困り果ててしまいました。 初歩的な質問で申し訳ございませんがどなたかご指導よろしくお願いします。

専門家に質問してみよう