• ベストアンサー

来月になったらシートをクリア

お世話になっております。 VBAで次の月になったらシートをクリアというコードはどのように書けばよろしいでしょうか? 今月のデータを集計をしているシートがあるのですが、 来月1日の朝8:00以降に開いたらシートが消えるようにしたいです。 よろしくお願いします。

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

  • ベストアンサー
  • CC_T
  • ベストアンサー率47% (1038/2201)
回答No.1

ファイルの保存日時と現在時刻を比較して、月が違えばシートのデータ削除すればよいでしょう。 使い方不明であれば、 DateCreated Date で検索を。 同様に、時刻の取得も可能ですね。 VBA,Dateで検索すれば関連情報出るはずです。

fioojng
質問者

お礼

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

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

関連するQ&A

  • EXCEL VBA 別シートへデータ集計

    お世話になります。 EXCEL VBAを使って下記のことを実現したいです。 [やりたいこと] [データ]シートに社員情報が4人分入っています。(本当は可変です) [データ]シートに"集計"というボタンを作ってクリックするとVBAが動いて[集計]という シートにデータを集計したいのです。この[集計]シートのフォームが少し変わっていて一人に つき3行使用します。次の人はまた3行、また次の人は3行と繰り返していきたいのです。 上記やりたい事を画像にもしてみました。 上記動作を実現するVBAコードをどなたかご教授いただけませんでしょうか? 何卒よろしくお願い致します。 環境 EXCEL 2017 Win7

  • EXCEL VBA 保護したシートを読込みしたい

    お世話になります。 EXCEL VBAで「データ」というシートあります。ここの100件ほどのデータが入っており、もう1つの「集計」というシートにフォームを作成してそのフォームからVBAを使って集計するのですが、この「データ」シートはユーザーにいじられたくないので保護もしくは非表示にしたいと思っています。 しかし「データ」シートを保護してしまうとVBAで「データ」シート読み込む際にエラーになってしまいます。 何かよい方法はありますでしょうか? 環境 WindowsXP SP3 Excel2003

  • VBAを使ってセルを検索後別シートのデータを自動入力したいです。

    見ていただきありがとうございます。 エクセルの2000VBAを使って次のようなことを考えています。 シート2に以下のようなデータがあります。 2006/7/20 コード 数量  100  200   200  400 データの数は日によって違います。 シート1には以下の表があります。横軸にはコード縦軸には日付が入っており各対応するセルに数量が入っています。       100  200  300  400 ....←コード 2006/7/1  20  40  100  800 2006/7/2  50  60  200  500   .   .   . 2007/6/30  このような場合、シート2にコマンドボタンを設けて押したときシート2の日付とコード番号によりシート1の表の検索を行って対応するセルにシート2のデータを転記したいのです。シート2のデータは本日分のデータが入った時点でシート1への転記を行います。(1日一回です) また、シート1の表は2007/6/30(これ以降は必要ないので)までの日付がすでに入力されており明日以降のデータの入るセルは空白になっております。 よろしくお願いします。

  • VBA: UsedRange.Clearでクリア?

    こんにちは。 VBAでシート上のデータを完全にクリアする方法について質問です。 VBAで様々な処理をした結果を「results」というシートに書き出しているとします。 上記の処理をする前に、一旦書き出し用シートをまっさらにするために、以下のコードを実行しています。 ThisWorkbook.Worksheets(resultSheetName).UsedRange.Clear 私の理解している範囲では、これで「results」シートのデータは、完全に消去されている筈なのですが、VBAの処理を実行するたびにブックのファイルサイズが増えていってしまうという不思議な現象に悩まされています。 例えば、処理の実行前は、ファイルサイズが約45KBだとします。 これが実行後は、1300KB程度まで増えます。 ここで、上記の「UsedRange.Clear」の処理を実行すると、250KB程度までファイルサイズが落ちますが、2回目の処理をするとサイズが1500KB程度になります。 以降、前回の結果を「クリア => 処理 => 書き出し」という処理を繰り返すたびに、ファイルサイズが200~300KBずつ増えていってしまうのです。 不思議なのは、上記の「UsedRange.Clear」のかわりに、通常のEXCEL操作で、ワークシート左上(「A」と「1」の間にある)の三角形をクリックして、すべてのセルを選択した上で、「クリア => すべてをクリア」を実行すると、ファイルサイズが45KBに戻るのです。 「UsedRange.Clear」と、手作業の「クリア => すべてをクリア」は、同じことではないのでしょうか? 以下のようなことも試みてみましたが、処理が遅い上に、ファイルサイズ的にはもっとひどいことになってしまいました。 ThisWorkbook.Worksheets(resultSheetName).Range("A1").Resize(65536, 256).Clear このままでは、処理を実行するたびにファイルが重くなってしまって、ツールとしてつかいものになりません。 通常のEXCEL操作(手作業)で「すべてのセルを選択(左上三角クリック)」した上で「クリア => すべてをクリア」と同じ結果を得るには、どのようにしたらよりでしょうか。

  • Excel: シートの一括クリア

    チャートを複数を含む5つのシート(シートの名前: CHT1~CHT5)のVBAで一括にクリアーにしたいです。 マクロの自動記録を使って出来たコードを参考に以下のコードを作りましたが、Cells.Selectのところでエラーになります。 Cells.Selectを消して、コードを走らせる前に、自分で各シートの左上のところをクリックして、シート全域をアクティブ状態にしたら動く様なのです。 VBAではマクロで出てくる Cells.Select は使えないのでしょうか。 何か方法があれば御教示下さい。 Private Sub CommandButton2_Click() Dim i As Integer Dim Name As String For i = 1 To 5 Name = "CHT" + CStr(i) Sheets(Name).Select Cells.Select Selection.Delete Shift:=xlUp Next i End Sub

  • 複数シートから一覧を作成VBAについて

    VBA超初心者です。 仕事でアンケート集計をしているのですが、効率よくするために質問させてください。 1つのブックに50程のシートがあり、1行目には1~30の設問Noがあり、2行目以降に回答(1~5の数字)が縦に並んでいます。 回答者数は最大で150名です。 アンケート集計として、152行目に回答が”1”の個数、153行目に”2”の個数といった感じで、156行目まで回答1~5の個数が並んでいます。 その次の157行目に平均値が入力されています。 集計用のシートを作成し、そのシートの2行目以降に、各シートの平均値(157行目)を縦に一覧として並べたいのですが、各シートをコピペしていくのは大変なので、VBAで何とかできないかと、いろいろなサイトを参考にやっているのですが、なかなかうまくできず、困っています。 どなたかご教授願えませんでしょうか。 よろしくお願いいたします。

  • Excelで入力用シートのデータを集計用シートに保存するには

    Excelでできるかわからないのですが教えてください。 一つのシートに日付と記入項目10項目(数値)を入力する シートを作成しその作成したシートの日付を基準に 別に作った集計用シートにデータを写し保存することは できるでしょうか? 入力シートは入力しては消して次の日にまた新たなデータを入力してと 入力するためだけの専用シートにしたいです。 また集計シートは各日にち毎のデータを集計するシートにしたいと 思っています。 いろいろ調べたのですが良くわからないので アドバイスいただけませんでしょうか。 よろしくお願いいたします。

  • excel vba 複数シートをまとめる

    お世話になります。 A.xlsというブックがあります。 その中に[集計]というシートがあります。 このシートに[ボタン]を配置してクリックしたら以下の動作を実現させたいのです。 (1)[集計]シートのA2に位置セット (2)[東京]、[大阪],[名古屋]という名称のシートの列=A2~A62、行=A2~データ最下行にある全データを[集計]シートにどんどんコピー貼り付けして追加していきたいのです。 上記動作を実現するVBAのロジックをどなたかご教授いただけますでしょうか。 よろしくお願い致します。

  • エクセルVBAで複数のブックから指定のシートを別のブックに複写するには

    エクセルVBAの超初心者です。 複数のフォルダに「●●社計算書(2010年3月).xls」・・・()内の年月は毎月増えます。格納されているフォルダは各会社名です。 というブックがあります。その各ブック内の売上というシートにある商品コードと売上金額を別の集計用ブックで集計したいと思っています。 どのように集計用ブックにコードを書いたらよいのでしょうか? 1 商品コードは各社共通です。 2 ブック名は共通ですがブック内のフォーマットは共通していません。(シート名は共通) 3 集計するのは集計時の年月度のデータです。 要領を得ず、ぶしつけな質問かと思いますが、大変困っています。 どなたかお分かりになる方、ご教授願います。 

  • excelでのシート別条件比較

    別シートでの項目の比較を行い等しければデータをコピーしたいのですがうまくいきません。教えて下さい。 現状 シート1・1日の各項目のデータ入力及び集計 シート2・31日分のデータ(シート1で入力・集計した)及び累計  シート1でのデータをシート2へコピーしています。 シート1に日付指定項目を設けて、シート2の該当日にマクロボタン で転送できるようにしたいのですが、出来ないので困っています。 シート1からシート2へコピーするマクロは作ったのですが それにVBAで日付どうしの比較を付けたいのですが構文エラー が出ます。 If Range("B1").Value & "日" = Sheets("シート2").Select Range("J2").Value Then マクロ記録のコピー処理 End If VBAど素人です。宜しくお願い致します。

このQ&Aのポイント
  • 彼氏が女友達や他の女性との関係を持っていることに嫉妬してしまう
  • 彼氏の過去の相手や彼の行動に不安を感じる
  • 自分自身の心の安定を取り戻すためにはどうすれば良いか悩んでいる
回答を見る