• ベストアンサー

Excelのマクロで同じフォルダのExcelを開く、閉じる

今開いているワークブック「A」が入っているのは「1」というフォルダです ワークブック「A」でマクロを使用すると「1」フォルダから「B」というワークブックを開くようにしたいです マクロになんと組み込めば良いでしょうか? またそのワークブック「B」を閉じるマクロも教えていただきたいです。 分かる方、できればサルでも分かるようによろしくお願いいたします。 説明分かりにくかったらごめんなさい。

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

  • ベストアンサー
回答No.1

ワークシートをを開く。 Workbooks.Open Filename:="B.xls" ワークシートを閉じる。 Workbooks("B.xls").Close で良いかと思います。 あと、ファイルオープンダイアログを使用する場合の使用例も記載します。シートに適当にボタンを作って、その中に以下のコートを貼り付けて動かしてみてください。 ↓以下コード 'ファイルオープンダイアログを出してファイルのパスを取得します。エクセルのファイルしか表示されないように、".xls"でフィルターをかけます。 fod = Application.GetOpenFilename("エクセルワークブック(*.xls), *.xls", , , , False)   'ファイルオープンダイアログで、キャンセルが押されたときに、処理を中止します。   If fod = "False" Then Exit Sub   'パスからファイル名のみを抽出するために、パスの文字列の長さを求めます。 i = Len(fod)   'パスの文字列を一番後ろから調べていき、一番最初の\の位置を探します。(ファイルが"D:\temp\B.xls"とすれば、B.xlsの前の\の位置を探します。)   Do While Not Mid(fod, i, 1) = "\" If i <= 1 Then Exit Do i = i - 1 Loop   'ファイル名を抽出します。 FN = Mid(fod, i + 1, Len(fod) - i + 1)   'エクセルワークブックを開きます。 Workbooks.Open Filename:=fod   '閉じます Workbooks(FN).Close ↑以上コード

kenta-s
質問者

お礼

回答ありがとうございます!! ワークシートをを開く。 Workbooks.Open Filename:="B.xls" ワークシートを閉じる。 Workbooks("B.xls").Close ↑だとどこにB.xlsが入っているか認識されないようで開けませんでした。 後者のコードもサルな自分には難しすぎて理解できませんでした;; PC初心者並みの知識なので申し訳ありません。 理解できるように勉強してきます!! 回答ありがとうございました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

マクロの記録をとればとりあえず判るのではないですか。 まずマクロの記録を(全的・部分的に)使えないか考えるのが鉄則です。 Sub Macro1() Workbooks.Open Filename:= _ "C:\Documents and Settings\xxx\My Documents\_社員1.xls" ActiveWorkbook.Close End Sub というようなのが出てくる。 これでは、どう自分の思っている処理と違うので、どう変えたいのかを質問するとかが筋でしょう。 >サルでも分かるようによろしくお願いいたします は甘えを感じる。 本でも、WEBでもWorkbooks.Open 、ActiveWorkbook.Close で照会すれば、実例や解説が出てくる。それを使ってやってみて、わからないところを絞るクセをつけないと。

kenta-s
質問者

お礼

回答ありがとうございます!! 質問の仕方にも問題がありました。申し訳ありません。 マクロ内容を見てもどの文がどういう意味なのかも理解できないほど知識がないもので…。 WEBで調べてきます! ありがとうございました。

関連するQ&A

  • Excel2003 マクロ(VBA) どこにあるか分からないフォルダAのワークブックAを開く

    いつもお世話になっております。 新しいマクロの記録でフォルダAのワークブックAを開きました。 ChDir "C:\フォルダA" Workbooks.Open Filename:= _ "C:\フォルダA\ワークシートA.xls" しかし、今はフォルダAがCドライブにありますが、 明日はデスクトップ上にあったり、フォルダBの中に入っていたりするかもしれません。 このような時、上記のようなVBAでは開けません。 どこにあるか分からないフォルダAのワークブックAを開くには どこをどのように直せばよろしいのでしょうか? 以上、よろしくお願いいたします。

  • エクセルのマクロ

    素人なのですみませんが教えてください エクセルのマクロを使用して エクセルを起動して ウィンドウズ内のあるフォルダ内のエクセルファイルをコピーをして違うフォルダに貼り付けをしたいのですが、どのようにマクロを組み込むのか教えてください(マクロの式) (例)エクセル起動後エクセルのマクロにて c\Aフォルダ\aファイル←コピー c\Bフォルダ\aファイル←貼り付け

  • エクセルマクロをどのワークブックでも使いたい。

    マクロを作成し、既に保存したのですが、作成した時開いていたワークブックを開かないと使用できません。どのワークブックからでも使えるようにするにはどうしたらよいのでしょうか?

  • エクセル マクロ フォルダ内容の比較

    マクロについて教えてください。 次のようなものを作りたいです。 サーバーのAフォルダと、ローカルマシンのBフォルダの内容を照合 ↓ 一致していれば、終了 一致していなければ、Aフォルダの内容をBフォルダへコピーする。 よろしくお願いします。

  • エクセル2003の繰り返しマクロ

    EXCEL2003のVBAマクロの構文を教えてください。 下記のようにA列に文字が昇順で並んでいるワークブックXXがあります。 A 1あ 2あ 3あ 4い 5い 6う 7え 8お 9お 以下がマクロでやりたいことです。 (1)I行目から、1行目と同じ文字の最下行(この場合は3行目まで)を切り取る (2)新しいワークブックを作り、開く (3)それに貼り付ける (4)それを保存し閉じる (5)ワークブックXXに戻り、切り取られて空になった行を削除(そしてこの場合4行目が一番上に繰り上がる) この(1)~(5)までを繰り返し、ワークブックXXが空になったら終了する

  • Excelのマクロで他のフォルダからデータを引っ張ってくることは可能ですか?

    初歩的な質問だとは思いますが、自分の知識では足りないので皆さんの知恵を貸してください。 今開いているExcelのシートに、違うフォルダに入っているExcelのデータをマクロひとつで貼り付けることは可能でしょうか? 可能ならそのマクロの作り方を伝授していただけないでしょうか。 ※違うフォルダに入っているExcelのタイトルは定まっていない状態です。 例えば今日はAというタイトルのExcelが入っていますが、明日はBというタイトル、明後日はCというタイトルのExcelがそのフォルダに入ってます。 みなさん、どうかよろしくお願いいたします。

  • エクセル、マクロの事で・・・?

    ある1つのフォルダにエクセルシートがあります。 仮に・・・ A1のセルに「野菜類」B1のセルに「野菜について」 A2のセルに「肉類」 B2のセルに「肉について」 A3のセルに「酒類」 B2のセルに「酒について」 このようにあるとします。 場合によっては、3つで終わる場合もあれば、20ぐらいまで行く場合もあります。 そこでマクロを使いエクセルシートがあるフォルダ内に・・・ 「野菜類」 「肉類」 「酒類」 各フォルダを作成して、その各フォルダ内に「Bのセル名.txt」のファイルを作成したいと考えています。(.txtの中身は空です) 今は、手作業でやっているのですが数が多く間違えたりするので、マクロを使って行いたいのですが、その方法がわかりません。 そこで、大変申し訳なのですが、マクロの方法を教えていただけないでしょうか? よろしくお願いします。

  • Excel VBAのマクロの記録について

    Excelマクロの初心者です。 マクロの記録のやり方の質問です。 今あるフォルダの中にファイルA、Bがある状態でファイルAのマクロの記録で、ファイルBのコピーを同じフォルダーに作る操作を記録しようとしましたが、うまく記録できません。 何かやり方が間違っているのでしょうか、ファイルAの中でのセルの色塗り等のマクロの記録はうまくできます。 マクロの記録ができない操作があるのでしょうか、あるとすれば記録できないものはどのような操作でしょうか?教えて下さい。

  • エクセルのブック間のコピペのマクロ構文を教えて下さい

    はじめまして。 マクロは初心者なので、ご教授いただけるとありがたいです。 エクセルのワークブック1のシート1をコピーして、ワークブックAのシートaにペーストをする構文をお願いします。 マクロの記録で作って実行してみましたが、コピーするファイルが開いているときはうまくいって、開いていないとないとうまくいきませんでした。 コピーするファイルが開いていない状態でもコピーできる方法はないのでしょうか… よろしくお願いいたします。

  • 同じフォルダ内にあるファイルを開くマクロ

    いつもお世話になります。 EXCEl2000で、フォルダ内に2コのエクセルファイル「A.xls」「B.xls」があり、「A.xls」でマクロを実行する際に、「B.xls」を開きたいのですが、ファイルのパスを設定すると、フォルダを別の場所に動かしたり、別のパソコンにコピーすると開けなくなります。 「同じフォルダの中にある「B.xls」を開く」という命令文の作成は可能でしょうか。

専門家に質問してみよう