エクセル2003マクロ:日付を入力して関連したブックを開く方法

このQ&Aのポイント
  • エクセル2003のマクロを使用して、特定の日付に関連したブックを開く方法について教えてください。
  • 具体的には、入力ボックスで始まりの日付と終わりの日付を指定し、その期間に関連したブックを開きたいです。
  • 開いたブックの特定のシートをまとめて、別のファイルにまとめたいと思っています。
回答を見る
  • ベストアンサー

エクセル2003 マクロ 日付を入力して・・・

いつも回答して頂き、とても感謝しております。 今回の質問内容ですが、 インプットボックスで始まりの日付と終わりの日付を入れると、その日付に関連したブックを開き、そのブックの特定のシートをまとめファイルにまとめていくというマクロについてです。 で、分からないのは、始まりの日付と終わりの日付を入れると、その日付に関連したブックを開ける記述についてです。 そのブックは、『○○○○ 2013年8月』 という感じのブック名です。 始まりの日付が2013年5月1日で、終わりの日付が2013年8月17日だった場合、 『○○○○ 2013年5月』『○○○○ 2013年6月』『○○○○ 2013年7月』『○○○○ 2013年8月』 と4つのブックを開けていかなければいけません。 この記述方法が分からないので教えて欲しいです。 1つにまとめるブック名は 『まとめ』 です。 1つにまとめるシート名は 『履歴まとめ』 です。 たいへんお手数だとは思いますが、宜しくお願い致します。

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

  • ベストアンサー
  • oka_me
  • ベストアンサー率86% (26/30)
回答No.1

例えば、以下のコードでは「2013年5月」から「2013年8月」まで順にMsgbox表示します。 これをブックを開く処理に書き換えることで実現出来るかと思いますが如何でしょうか。。 Dim s As Date, f As Date, d As Date, t As Date s = #5/1/2013# f = #8/17/2013# d = s '終了日の日付数値の方が大きい場合、ループを1回増やす If Day(s) >= Day(f) Then t = DateAdd("m", 1, f) Else t = f End If 'ループ開始 Do Until d >= t MsgBox Format(d, "yyyy年mm月") d = DateAdd("m", 1, d) Loop

kero1192kero
質問者

お礼

返事が非常に遅れてしまい申し訳ありませんでした。 IFで条件を分岐していけば、うまく自分が思ったブックを開けることが可能だったんっですね。ありがとうございました。

関連するQ&A

  • エクセル2003 マクロ シート名

    エクセル2003です。 1つのブックにシートが10シート有ります。 R2のセルに日付を入れると それぞれのシート名が日付 (例)"11月25日"になるようなマクロを作りたいのですが、 教えてください。 又は逆にシート名に"11月25日"とすると R2セルが"11月25日"となるマクロを教えてください。 日付はシート毎に違います。 すみませんがよろしくおねがいします。

  • エクセルマクロで日付検索について

    エクセルのマクロで日付を検索するマクロについて質問です。 ブックAのシート1のA列に A1 2017/3/13 A2 2017/4/1 A3 2017/4/19 A4 2017/5/16 A5 2017/7/17 A6 2017/9/5 というような日付が入っています。 ブックBのシート1のA1セルに2017/6/3と入力してマクロを実行した際に その日付に一番近い一つ前の日付を探し、見つけた日付のB列のセルを ブックBのシート1のA2セルに表示したいです。 今回の例であれば2017/6/3に対してブックAのシート1のA列はA4セルが当てはまり その当てはまったA4セルの1つ横のB4セルの内容をブックBのシート1のA2セルに表示するということです。 よろしくお願いします。

  • エクセルマクロを教えてください

    エクセル2003を使用しています。ブックに1シートあります。シート名は「C3」セルに入力してある日付にしますが、シート上の表示形式は「平成20年1月」となっているところをシート名は「08-01」にします。その後シートを11枚コピーし、それぞれのシートの「C3」セルに年月を入力し、シート名を「08-02」「08-03」・・・「08-12」としたいのですが、うまくいきません。 マクロに詳しい方のご指導をお願いいたします。

  • Excel 入力して置換するマクロ

    Excel 入力して置換するマクロ 同一書式で作成された表がある複数の書式シートのデータを、同一ブック内にあるデータ集約するための集約シートが「表 あ」にあります。 都合上、集約シートには表は、「表 あ」しかなく、1つの書式シートのデータのみしか表示していません。 書式シートのデータを参照する計算式内のシート名にあたる『Sheet1!』の部分を置換で他の書式シートに変えたいのですが、対象シートが複数あり上、誰でも置換をスムーズに行いたいので、インプットボックスにシート名を記載すれば置換できるマクロが作れないのか試行錯誤しております。 良い方法があればお教え下さい。

  • エクセルのマクロについて

    人が作ったマクロで困ってます。 数年分の書類を一つのファイルでシートに分けて作ってます。 マクロでファイル名を付けて保存するまではいいのですが、 ファイル名で使いたい日付がテキストボックスで作られているため、 うまくいきません。 テキストボックス内の文字列をコピーしてファイル名に使えないでしょうか? エクセルは2007です。(2003もあります)

  • エクセルのマクロについて

    エクセルでマクロを作成しました。 インプットボックスに日付を入力するのですが、インプットボックスのキャンセル時に、マクロを停止したいのですが、色々試しましたが、上手く出来ません。(IfやOn Erorrなど)どの様な方法があるでしょうか? 入力する日付は○/1と入力しています。 Dim a As Date a = InputBOx("日付を入力してください") この様なコードで開始しています。

  • カレンダーコントロールからセルとシート名に日付を入力

    エクセルVBAコードについてですが、マクロを実行すると、カレンダーコントロールが表示され、選択したカレンダーの日付をクリックすると、任意に指定したセルとシート名にその日付を表示させたいのですが、どのようなコードを書けばよいのか教えてください(><) ちなみに、今はインプットボックスから日付を入力する方法をとっていますが、都度「2008年○月○日」と入力しなくてはいけませんので、効率が悪く困っています。 どうぞ宜しくお願い致します。

  • Excelシートの自動コピーでマクロを使いたい

    表題通り、Excelシートの自動コピーをマクロを使って行いたいのですが、 マクロやVBAの知識が全くないため、どなたかコードを教えていただけないでしょうか。 まず今現在、B1セルに9月1日と日付を入れ、シート名を1日としたものがあります。 これを自動で複製して、B1セルの日付を9月2日 9月3日… シート名を2日 3日…となるように、日毎ごとの一ヶ月分のシートを作り ひとつのbookにしたいと考えております。 また、その際に、B1セルとシート名の日付が日曜・祭日に当たる場合、 シート名に色を付けたいと思っています。 (因みにB1セルの日付はシリアル値で入れていて、 書式で○月○日となるように表示していて、日付が日曜・祭日に当たる場合は 赤文字になるよう、別シートに祝日リストも作って 条件付き書式で設定してあります。) Excelの関数は使えても、マクロは全く分からないので どうかよろしくお願い致します。

  • マクロ 任意の・・・を特定のシートへコピーする

    いつも回答して頂きありがとうございます。 質問内容ですが・・・ (1)任意のブックを開ける。今回は『C:\Users\Owner\Documents\作業管理.xlsm』   ※本当のファイル名は『作業管理2013年8月』みたいなものになる 9月なら『作業管理2013年9月』 (2)任意のシートをコピーする。今回は『1』   ※数字の意味は日付。    ですが、今日の日付=シート名になるとは限らない。ですので、任意で選択したい。 (3)特定のシートへ貼り付ける。   dim ws1 as object set ws1 = activesheet (4)・・・ という順序のマクロを考えていますが、任意のブックを開けて、任意のシートをコピーするという箇所の記述が分かりません。どのような記述方法があるのか教えて頂けないでしょうか? 宜しくお願い致します。

  • Excelのマクロについて

    Excelのマクロについて excel2003で,マクロの自動記録を勉強中です。 [ツール]-[マクロ]-[新しいマクロの記録]でマクロ名を入力し,(マクロの保存先を「作業中のブック」として,)[OK]をクリックすると マクロの記録が始まります。 マクロの記録終了後, [ツール]-[マクロ]-[マクロ]で「マクロ」ダイアログボックスを見ると,マクロ名が表示されます。 この場合は実行も正常にできます。 しかし, ブックを一旦保存した後,開いて,マクロを実行しようと, [ツール]-[マクロ]-[マクロ]で「マクロ」ダイアログボックスを見ると,マクロ名が(マクロ名単独ではなく)ブック名とともに表示されます。 実行するとエラーになります。 何が悪いのか分かりません。なにか基本的なミスがあるのかも知れないと考えました。 原因(ミス)に心当たりのあるかた,是非教えてください。

専門家に質問してみよう