A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
質問の内容も、マクロ初心の程度も、見当がつきにくいですが、
「日がすぎたら過去の日にちが自動消え」
⇒ エクセルファイルを開いたときに、その開く動作によって自動的に処理を完了させる
「過去の日にちが自動消え、エクセルの行が自動で上に更新」
⇒ 特定のシート(一番左のシート)の、A列の中にある日付データだけのセルを調べて、エクセルファイルを開いた日付の前々日(2日前:2018/4/25に開いたら、2018/4/23)を含む以前の日である行を丸ごと1行単純に削除し、1行分上に詰める
上のようにやるなら、そのエクセルファイルのエクセルのVisual Basicエディタを表示させて、ThisWorkbookのモジュールに、次のコードを書いて、そのエクセルファイルを上書き保存(マクロ有効ブック)しておくと、ほぼ、動作はします。
Private Sub Workbook_Open()
Dim Hizuke As Date, mysh As Variant, mycol As Variant
Dim k As Variant, g As Variant, B As Single
mysh = 1 ' mysh=の数値が、操作対象のシートの番号 一番左のシートなら1
B = 2 ' B=の数値が、削除するカウント 2ならば、2日前、3日前、4日前などを削除
mycol = 1 ' mycol =の数値が、調べる対象の日付のある列の番号 A列は1、B列は2
Hizuke = Date - B
Sheets(mysh).Activate
k = Sheets(mysh).Cells.SpecialCells(xlCellTypeLastCell).Row
g = 1 + k - Sheets(mysh).UsedRange.Rows.Count
B = g
For B = g To k
If IsDate(Cells(B, mycol)) And Cells(B, mycol) <= Hizuke Then
Rows(B).Delete Shift:=xlUp: B = B - 1
End If
Next
End Sub
ただ、ファイルを開いたときに自動的にマクロを実行してファイルを書き換えてしまう仕様にしてしまうと、どうやっても、前の状態のファイルを開いて確認することができなくなってしまうので、そのような仕様にはしない方が良いように思います。
「Private Sub Workbook_Open()」をThisWorkbookのモジュールに書くのではなく、標準モジュールに上記と同じ内容を普通のSubで書いて、それを自分で実行させるようにした方がましだと思います。
No.1
- 回答日時:
よくわかりません。
日がすぎたら過去の日にちが自動消え、エクセルの行が自動で上に更新できる方法はありますか?
【4/4の日に】
4/1消したい : 4/4の前で過去の日にちであるため
4/2残す : 4/4の前で過去の日にちであるけれども
4/3残す : 4/4の前で過去の日にちであるけれども
エクセルファイルを開いたときに、あるシートのある列のセルの日付が、ファイルを開いた日付よりも、3日以前の日付である場合に、そのセルのある行を削除するということなら、VBAで実現できます。
ファイルを開いた日 削除対象基準 削除になる日付例 削除しない日付例
2018/4/24 : ~3日前 4/19,4/20,4/21 :4/22,4/23,4/24,5/5
2018/4/24 : ~1日前 4/21,4/22,4/23 :4/24,4/25,5/5
ただし、このような処理をすると、行が削除される⇒(その削除される行のセルを参照する式がどこかにあると、参照先はエラーを起こす)ことになります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- 飛行機・空港 ana特典航空券の空席待ちについて 1 2023/03/08 12:12
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Visual Basic(VBA) 列 A に同じ日が2つが必要です。 1 2023/03/28 07:25
- 消費者問題・詐欺 お金を取り返すことは可能でしょうか? 4 2023/01/07 13:17
- LINE LINEのスマホ機種変更時の移行失敗の復旧 1 2022/06/20 14:52
- Visual Basic(VBA) 【至急】 当方初心者です。 マクロについて知恵をお貸しください。 ★したい動作 ①リストE列2行目か 4 2022/09/29 18:56
- iOS iPhone重いです軽くする方法あますか? iPhone8 64gb残り6gb いおs16 最新バー 4 2023/04/06 07:12
- JavaScript javascript で外部サイトにデータ入力させて自動でボタンを押すことは可能ですか? 1 2023/01/30 16:23
- Excel(エクセル) エクセルVBA 複数行にまたがっている選択を判定するには 2 2023/05/21 21:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで複数セル範囲をコピ...
-
テキストファイルのデータをエ...
-
マクロン(¯)とキャメロン(ˇ)に...
-
「ドゥ」の簡単なローマ字入力方法
-
Google form グーグルフォーム...
-
1MBでドレくらいの文章を書くこ...
-
一太郎で作った文書をWord変換
-
一太郎をワードに変換
-
エクセルでセル未入力時の初期...
-
あいうえおかきくけこさしすせ...
-
この文字はどうやって入力する...
-
一太郎はどうなった?
-
テキストファイルで改行に置換...
-
ワードにて スペースを全て改行...
-
エクセルの表を選択し、「画像...
-
WPS OFFICEでの縦書きについて
-
PDF 入力途中で改行したい
-
googleカレンダーの予定を入力...
-
ワープロソフト一太郎の「感太...
-
WORD文書を一太郎に変換す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数セル範囲をコピ...
-
AccessからExcelへ
-
従事期間の重複チェック、表示
-
エクセルにて表に入力→一覧に自...
-
エクセル 細かい条件での切り...
-
エクセルの行列方向での並び替え
-
エクセルでのデータ蓄積
-
エクセルで空白の項目セルを削...
-
テキストファイルのデータをエ...
-
Google form グーグルフォーム...
-
「ドゥ」の簡単なローマ字入力方法
-
1MBでドレくらいの文章を書くこ...
-
一太郎をワードに変換
-
エクセルの表を選択し、「画像...
-
一太郎で作った文書をWord変換
-
googleカレンダーの予定を入力...
-
エクセルでセル未入力時の初期...
-
一太郎で作成した文書をコピペ...
-
PDF 入力途中で改行したい
-
テキストファイルで改行に置換...
おすすめ情報