• ベストアンサー

VBAの繰り返し作業について

keithinの回答

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

(1)のセルをA1セルとして (2)のマクロはMacro1として作成済みだとして sub macro2()  dim a as date  dim b as date  dim i as long  a = inputbox("start yyyy/m/d")  b = inputbox("end yyyy/m/d")  for i = a to b   if weekday(i, vbmonday) < 6 then    range("A1") = i    call macro1   end if  next i end sub

hiro_tok
質問者

お礼

ご回答ありがとうございます。 上記コードの追加で望んでいた処理ができました。 weekdayの使い方、勉強になりました。 別のVBAでも使わせて頂きたいと思います。 ありがとうございました。

関連するQ&A

  • エクセルで毎日来るデータの集計

    メールで名前に日付の付いたエクセルファイルが毎日入ってきます。 たとえば、XXX061127.xlsというファイル名です。 これを、特定のフォルダに保存して、昨日と一昨日の日付のデータ を比較して集計する作業をしています。 そのとき、集計作業用のエクセルファイルを開けるだけで、昨日と 一昨日の日付のついたエクセルファイルを自動的に読み込んで、 集計作業をするような関数はありませんか? またマクロで組むにはどうしたらいいでしょうか? ただし、営業日ベースなので祝日などを飛ばすことが簡単に出来ない なら、日付は、特定のセルに 昨日 061124 一昨日 061122 と入力して、それを使って特定のファイルを読み込むことでもかまいません。ファイルを参照する箇所が非常に多いので1つ1つ手で直していては時間がかるので省力化する方法が知りたいのです。

  • EXCEL VBAについて

    VBAでCSVファイルをテンプレートのBBOKに読込むコードを 作り、CSVファイルから読込んだBOOK1データを集計する BOOK2を作成しています。 BOOK1・11/21・・・11/21・・・11/22・・・11/23と続きます      A     B     C      D 1  ID     店名   売上    日付 2 1104567   渋谷店  190,809   11/21 3 1102031   新宿店  209,808   11/21 4 1103450   横浜店  108,765   11/21 BOOK2・集計      A    B    C       D       E 1  ID   店名   11/21    11/22     11/23 2 1104567  渋谷店  190,809   203,487 3 1102031  新宿店  209,808   340,876 4 1103450  横浜店  108,765   547,627 ※BOOK1とBOOK2のIDの並び順は一致していません。 上記のBOOK1のデータをBOOK2に読込ませたいと考えています。 VLOOKUPやINDEX関数を使用しようかと考えたのですが、日付毎に ファイル名が違うのと、集計のファイルには外部参照をさせたくないと 考えています。 VBAで作成したいコードはBOOK1からBOOK2の日付のセルにIDを検索条件として日付毎のファイルを読込ませたいです。 フォームで日付を入力し、コピーするBOOK2のセルを指定後、BOOK1を選択するためにダイアログボックスを出したいです。 BOOK2のIDを検索条件としてBOOK1から一致する売上セルを抽出するコードだけでもわかれば何とか作成できそうなのですが、 ご教授いただけませんでしょうか?

  • Excel VBAについて

    Excel VBAについて ExcelのセルA1に日付データ(yyyy/mm/dd hh:mm)が入っています。 このエクセルファイルを開いている間、セルA1の日付(時分)が更新されたらマクロを実行するようにしたいのですが、どのようにしたらよいのでしょうか。 セルA1の日付データが更新されるタイミングは決まっていません。 セルA1の日付データが更新されたらマクロ実行というのが難しいのであれば、 10秒おきにマクロを実行というようなことができないでしょうか。 ご教授願います。

  • Excel VBA

    Excel VBAについて シート1にはデータが入ってます。 G列に日付、L列に商品名、N列に件数。 シート2には集計結果を入力したいです。 セルB2に、日付が10月1日から15日までで、商品名がAの件数の合計。 セルB3は、日付が10月16日から末日まで、セルB4は、日付が11月1日から15日までと半月毎に集計を半年後の末日まで繰返し、B2の数行下には、商品名Bの集計行を作り、その数行下には商品名Cの集計行を作りたいです。 これまでは関数SUMIFSで集計していましたが、複数店舗分のシートの更新・メンテナンスが大変なので、VBAでの集計を考えいろいろ調べてるのですが、方法が思い付かないので、ご教授ください。

  • Excelの小計機能をVBAでやりたいです。

    Excelの小計機能をVBAでやりたいのですが、うまくいきません。 3列目に「取引日」があり、 10列目に「金額」があり、 「取引日」別に金額の小計を出したいのですが、 手動で、データ→小計をやると、日付が「2011/7/25 集計」とうまくいくのですが、 VBAで、Subtotalをやると、日付が「25/7/2011 集計」となってしまいます。 VBAの一部ですが、 並び替え後 Selection.Subtotal GroupBy:=3, Function:=xlSum, TotalList:=Array(10), SummaryBelowData:=True を実行させています。 取引日も全て「2011/7/25」などの形式で入力されています。 VBAで、「25/7/2011 集計」を「2011/7/25 集計」と指示するにはどうしたらよいでしょうか。

  • EXCEL:WORKDAY関数の使い方

    EXCELで祝日リストを用意し、WORKDAY関数で開始日から何日後の日付をを表示したいと考えています。 しかし、この関数では土日を休日としているため、年に数回のみの土曜営業日(もしくは日曜営業日)をまたぐ日付表示はうまくいきません。 祝日リスト(休業日)とは反対の意味になりますが、別シートに土曜営業日リストを用意してその日を営業日として計算に含む方法はありませんでしょうか? 関数では不可能でVBAで可能であれば、VBAでも構いませんのでどうかEXCELの知識のある方よろしくお願いします。

  • VBAで即反映させるには

    宜しくお願いいたします。 VBAで数字の集計表を作成しているのですが、データを入力したらVBAを実行しなくても即合計等が反映される方法がありましたらご伝授お願いいたします。

  • access VBA でテキストファイルの編集をしたい

    既に退社した前任者の代から受注データを本社のサーバからダウンロードしてエクセルで加工するファイルがあるのですが、日々更新されるのも不都合が出てきましたのでなんとかアクセスのデータに日々蓄積したくなりました。 毎日日付を含む名前のファイルがアップされFTPで○月○日のファイルを受信するのですが、バッチファイルとテキストファイルをを使ってFTPの受信をしていました。 1、VBAでテキストファイルの日付を変更する。(任意の日付) 2、VBAからバッチファイルを実行し、先に変更した日付のファイルを受信する。 これをアクセスで同じことをしたいです。 フォームにテキストボックスを作って、そこに日付を入れるようにして、VBAでテキストファイルの日付をテキストボックスにある日付に変更して、それから・・・まだ工程はあるのですが、まずテキストファイルが変更できないと先へ進めません。 エクセルのVBAは少しは判るのですが、accessVBAは初心者です。 よろしくお願いします

  • 営業日のみの経過日数の求め方

    営業日のみの経過日数の求め方 エクセルで土日祝日を除いて、今までの経過日数を出すにはどうしたら良いでしょうか?                 (1)予備のセルに「TODAY」 セル A1 (2)発生した日に日付      セル B2 (3)経過日数          セル C3    (1)ー(2)=(3)経過日数 という風にしたのですが、それだと営業日以外の土日祝日が入ってしまいます。 どのようにすればいいのでしょうか? よろしくお願いします。

  • エクセルVBAで作成できますか(2)

    質問No.9506691に関連して添付ファイルのようなVBAを作成したい。 1:日付と時刻が同じセルで10分毎に合計を出すことはできますか。  それとも日付と時刻は別々のセルにして算出する方がいいのでしょうか。 2:抽出する項目は先に作成しておいた方がいいのでしょうか。  VBAで表示させることはできますか。 どなたかアドバイスお願いします。