• ベストアンサー

エクセルマクロで指定フォルダをセルから読み取り保存する方法を教えて下さい

エクセルマクロで行き詰まっております。 いい方法があればと思い投稿させていただきました。 ご教授よろしくお願いいたします。  セル内に入力されている日付データから、月だけを読み取り、該当月フォルダへ格納するようなマクロはありますでしょうか? 例) セルA1        2007/11/1   格納フォルダはCドライブの業務フォルダ内に4月・5月~3月という名前のフォルダを準備しております。 マクロ初心者で大変申し訳ありませんが、どうぞよろしくお願いいたします。

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

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

>該当月フォルダへ格納するようなマクロ 別に難しいものではありませんが、 フォルダ名の数字(月)は全角?半角? 「ファイル名」はどのようにするのでしょうか? 開いているファイルの名前をそのまま使うのですか? それとも任意の名前を付けるとか決まりはあるのですか? 同名のファイルがあった場合はどうするのですか? 開いているファイルはどこかに保存するのですか? それとも破棄?(保存しない)

yukun916
質問者

お礼

hana-hana3様 良いご指導をいただいたおかげでマクロの9割が完了いたしました。 ありがとうございました。 それで、再度確認させていただきたい事項がございましたので、お礼にあわせてここで質問させていただいてよろしいでしょうか? 上記マクロ実行文の中でファイル名をつけて保存する箇所がございますが、    Fname = fol & "\" & Fname & ".xls"   ThisWorkbook.SaveAs Fname  End Sub ここの部分なのですが、一つ問題がありましてコピー元のファイル名がここで作られたファイル名に変換されてしまい、コピー先のフォルダは(Book1)のまま、残っております・・ この場合、(Book1)のファイル名を変更して保存するにはどうしたらよろしいでしょうか? ご教授よろしくお願いいたします。 それともう一点伺ってよろしいでしょうか? InputBoxで入力を促している際、画面のスクロール機能が無効になっていますが、これを有効にする命令文はありますでしょうか? 色々とご面倒をおかけし申し訳ありませんが、アドバイスのほどよろしくお願いいたします。

yukun916
質問者

補足

hana-hana3様 早速のご回答ありがとうございます!! 言いたいことがうまくまとめられず申し訳ございません。 フォルダ名の月の数字は半角数字としております。 ファイル名は、元のエクセルファイルにマクロを組ませており、抽出したものをコピーし、そのデータを新規のワークシートに貼り付け、新規のワークブックに名前を付けるように考えております。 実はそのファイル名の取得も今奮闘中でうまくできておりません。(苦笑) よろしければそこも加えてご回答いただけますと大変助かります。 ファイル名の取得方法としては、セルA1(半角数字)とセルB1(文字列)に入力されたデータ・文字を結合させ、ファイル名として保存することにしております。 もう少し勉強しないといけないとは思っているのですが、運用をせまられており、こうして質問をさせていただいている次第です。 同名ファイルは今のところ存在させないように考えております。 どうぞよろしくお願いいたします。

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

その他の回答 (1)

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

こんな感じでしょうか? format関数で任意のフォーマットが得られます。 ファイル名には"/"等の記号が使えないので日付にする場合は注意して下さい。 保存フォルダが無い場合は自動的に作成します。 Sub sample() Dim fol As String Dim Fname As String Sheets("Sheet1").Activate fol = "c:\業務フォルダ\" & Format(Range("A1"), "m月") Fname = Format(Range("A1"), "yyyymmdd") & Range("B1") If Dir(fol, vbDirectory) = "" Then MsgBox "保存フォルダを作成します。" MkDir fol End If Fname = fol & "\" & Fname & ".xls" ThisWorkbook.SaveAs Fname End Sub

yukun916
質問者

お礼

hana-hana3様 ご多忙中にもかかわらずご丁寧に回答感謝いたしております。 早速試してみたところ、問題なく実行できました。 頭の中のモヤモヤがすっきりし、今日は熟睡できそうです。 これを機にマクロをもう少し勉強していきたいと思います。 本当にありがとうございました。

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

関連するQ&A

  • セルで指定した名前のテキストファイルをインポートするマクロの作り方

    例: A1セルに5,B1セルに1を入力。(5月1日を表しています) その後マクロを実行し、0501.txtという5月1日に相当する テキストファイルをインポートするというものです。 該当のフォルダ内には各日付ごとのテキストファイルが 複数存在しており、インポートしたいテキストファイル をエクセルファイルのセル上で指定するのが目的です。 インポートするファイル名を固定しないというマクロの 作り方がわかりません。 どうぞよろしくお願いします。

  • エクセル2000:決まったセルに数値が入力されたらマクロを起動させたい

    エクセル2000:決まったセルに数値が入力されたらマクロを起動させたい。 たとえばセルA1に、1以上の数値が入力されたときに、セルA2に今日の日付を入力させる マクロの記述はどうすれば宜しいでしょうか? 以下の記述で、セルA2に日付は入力させられるのですが、 セルA1に1以上の数値が入力された場合に起動させる方法が分かりません。 Range("A2").Select SendKeys "^(;){ENTER}" ご教授の程、宜しくお願い申し上げます。

  • マクロで指定されたフォルダへ名前をつけて保存する方法を教えてください。

     今Excelのマクロを作成しているのですが、ファイル名・フォルダ名をつけて実行させるプログラムが組めず困っています。どなたかご教授願います。 内容は以下のとおりです。  見積書の雛形(見積書.xls)に、入力シートと見積書・担当者コード・取引先コードの4つのワークシートが存在しています。  見積書作成後、見積書シートだけを別の新規ワークブックへコピーし、ファイル名を見積書番号とし、指定したフォルダへ保存したいと思っています。  保存したいファイル名(見積書番号)は、入力シートから得た担当者コードと取引先コードと枝番をつけた12桁の数字で保存したいと考えています。  指定先のフォルダは(担当者コード+担当者名)で作成しております。   Cドライブ \業務フォルダ\ 各担当フォルダで構成しています。   見積書雛形(見積書.xls)は業務フォルダ内に存在しています。 質問内容は以上です。よろしくお願いいたします。

  • マクロのセルの範囲指定

    お世話になります。マクロ初心者です。エクセルの業務でマクロを作成しようとしているのですが、マクロ実行で、セルの範囲が指定される方法はありますか?例えば シート名  開始  終了  Sheet1   A1  D10 を入力して、ボタンを押したらA1からD10までのセルが選択されることです。説明不足ですみません。宜しくお願いします。

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

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

  • エクセルマクロ 指定したフォルダ内のファイルをコピーしたい

    エクセルのセルに入力されたフォルダを参照して、 wordファイルを別のフォルダにコピーするようなマクロがあれば、 ぜひ教えてください。 ・A1には、="パス名"&A2 と元々入力してあり、  A2には実行する前に"dd.mm"と入力。 ・このdd.mmフォルダから、yyyyフォルダに*.docをコピー。 A1セルを参照する方法がわかればいいのですが、何分初心者なもので ご指導いただければと思います。

  • エクセルマクロの保存するフォルダ

    WindowsXPでエクセルマクロを保存するフォルダを教えてください。 ReadMeにはC:\Documents and Settings\ユーザー名\Application Data\Microsoft\AddInsとなっていますが、該当するファオルダが みつかりません。 エクセル2002です。

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

    エクセルのマクロを使って日付を入力したいのですが、上手く行きません。 何か良い方法があったら教えてください。 やりたいことは、あらかじめ選択されているセルに、今日(作業当日)の日付を入力することです。 これまで試したのは、 〔ctrl〕+;→マクロ作成日の日付を入力するようになってしまうので駄目 today関数→翌日になると、日付も翌日のものになってしまうので駄目 よろしくお願いいたします。

  • EXCELのセルの指定方法

    ※簡単な質問かもしれませんが、自分だけで解決できませんでしたのでご存知の方、おしえてください。 ※EXCELで、マクロではなくて、セルへ入力する関数についてです。 たとえばA3のセルに 「自分のセルの一つ上のセルの値をコピーする」 と指定したい時の記述方法を教えてください。 【具体例】 A2のセルに”goo”と直接入力されている状態のとき→ A3のセルに上記の指示を記述した関数を入力すると→ A3のセルにも”goo”と表示されるようにしたい。 また、A4にも同じ記述の関数を入力しておけば→ A4にも”goo”と表示したい。。。

  • VBA マクロ セルと同じファイル名を選びたい

    Excelでマクロを組んでいます。 以下のような場合にどのように組めばいいのか、悩んでいます。 是非、ヒントを下さい。 Excelファイル「book1」でマクロを組んでいるとします。 1)book1のセルA1に入力されている文字列と同じファイル名のbookを選択できないか 2)セルA1から順にA2、A3、A4と文字列の入力がないセルまで自動的にセル番地を横へおくり、1)の操作を繰り返すことができないか ちなみに検索対象となるbookはすべて同じフォルダの中に格納されています。 よろしくお願いします。

このQ&Aのポイント
  • 会社のPCでインターネットに接続せずにアプリをダウンロードしたい場合、セキュリティの関係でそのままの実行ファイルのダウンロードはできません。そこで、インターネット接続不要なインストーラーを探しています。
  • 会社のPCではセキュリティの関係でインターネットに接続せずにアプリをダウンロードすることが制限されています。しかし、インターネット接続不要なインストーラーが存在するならば、それを利用したいと考えています。
  • 富士通FMVの会社のPCでは、セキュリティの関係からインターネットに接続せずにアプリをダウンロードすることができません。そこで、インターネット接続不要なインストーラーがあれば教えてください。
回答を見る