
エクセル及びマクロ初心者です。
お手柔らかにお願いいたします。
<現状>
※ソフトから顧客データをCSVに書き出し不必要なデータを削除、リストを作成している状態です。
※毎月行っている業務ですので、特定の日付(前月の末日)が変わります。
(29日までだったり30日だったり)
<実行したい操作>
I列に記載されているスラッシュで区切られた年月日(前月の末日)を特定し、その日以降のデータを行ごと削除したい。
<例-10月分のリスト作成->
前月末日が(2016/9/30)であることを特定、2016/10/1~全て削除
グチャグチャのCSVデータをマクロで一挙リストに仕上げたいと思っています。
マクロ記憶やサイト検索にてどうにか他の問題は解決できたのですが、ここで躓いてしまいました。
コードの例や検索ワードなど教えて頂けたら幸いです。
宜しくお願いいたします。

No.2ベストアンサー
- 回答日時:
こんな形で出来そうです。
---------------------------------------------------------------
Sub Sample()
Dim 行 As Long
Dim 月初 As Date
Application.ScreenUpdating = False
月初 = CDate(Format(Date, "yyyy/mm") & "/01")
For 行 = Cells(Rows.Count, 9).End(xlUp).Row To 1 Step -1
With Cells(行, 9)
If IsDate(.Value) Then
If .Value >= 月初 Then
Rows(行).Delete Shift:=xlUp
End If
End If
End With
Next
Application.ScreenUpdating = True
End Sub
---------------------------------------------------------------
※ このように比較の仕方で「今月の初日」を使っても問題ありません。
※ 何万行とかあると数十秒かかることがあります。
※ I列でソートしてもよければ瞬時に終了させることができます。
No.4
- 回答日時:
NO3です。
失礼しました月末は
D1に=Dtae (A1,B1+1,0)
フィルターオプションの抽出条件で
=">=" & Date(A1,B1,1)
と
="<" & Date(A1,B1+1,1)
と翌月の月初未満でも同じになります。
フィルターオプションについては
http://www.eurus.dti.ne.jp/~yoneyama/Excel/filte …
等で紹介されています。
フィルターオプションを初めて知りました(*_*)
大変、勉強になりました。
今回は、早急に対応して頂いた方をベストアンサーにさせて頂きます。
本当に、ありがとうございました。
No.3
- 回答日時:
二つほど提案です。
1、毎月月初と月末の日付取得
別シートでも構いませんので
A1 2016
B1 11 と入れて
C1に=Date(A1,B1,1) で月初
D1に=Dtae (A1,B1,0) で月末が取得できます。
2、期限内のデータの抽出
エクセルにはフィルターオプションと云う機能があります。
(オートフィルターではありません)
別シートに、1で求めた記述の範囲内の行部分だけ一瞬で抽出してくれます。
毎回設定するのは嫌であれば、マクロの記録でコードが出来ます。
No.1
- 回答日時:
・今月以降の削除ではダメですか?
(今月の初日は「CDate(Format(Date, "yyyy/mm") & "/01")」でもとめられます。先月の末日は「CDate(Format(Date, "yyyy/mm") & "/01") - 1」でもとめられます。)
・セルのみ削除ですか?それとも行削除でしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 列 A に同じ日が2つが必要です。 1 2023/03/28 07:25
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Excel(エクセル) VBA 文字列変換と指定した列にある日時データから時間を削除する方法について 2 2022/04/14 15:23
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける 3 2022/09/10 07:55
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/10 11:34
- Excel(エクセル) VBA 指定した列にある日時データから時間を削除する方法について 4 2022/04/14 11:17
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける (再質問) 4 2022/09/14 22:51
- Visual Basic(VBA) VBA 連続する名前ごとに集計 3 2022/05/21 18:24
- Excel(エクセル) Excel 行 について 写真のように日付が並んでおり、何年何月何日以前は行削除。といったマクロ等組 2 2023/02/20 12:55
- Excel(エクセル) エクセルでキーリストからデータを取り出して1枚1枚印刷するには? 11 2022/06/27 09:52
このQ&Aを見た人はこんなQ&Aも見ています
-
基準日以前のデータを範囲を指定して削除するVBA
Excel(エクセル)
-
エクセルで。
Excel(エクセル)
-
VBA 指定した列にある日時データから時間を削除する方法について
Excel(エクセル)
-
-
4
今日の日付が過ぎたらその行を削除したい
Visual Basic(VBA)
-
5
基準日よりも古い日付の列を削除したい(VBA)
Excel(エクセル)
-
6
エクセルVBA 今日の日付行を削除
Excel(エクセル)
-
7
エクセル VBA オートフィルタ今日以降のデータを抽出するには
Excel(エクセル)
-
8
【VBA】特定列に文字が入っていたらそのセル行をコピーしてマスターブックの同じ行に貼り付けたい
その他(Microsoft Office)
-
9
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
10
vba 指定した日付範囲でセルの色を塗る
Visual Basic(VBA)
-
11
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
12
エクセルで昨日までの日付データ行を非表示するVBAについて!
Excel(エクセル)
-
13
EXCEL マクロ 条件の合ったシートだけ印刷したい
Excel(エクセル)
-
14
エクセルのVBAで日付を検索し転機したい
Visual Basic(VBA)
-
15
難問 VBA 今日の日付より前に対するイベント処理
Visual Basic(VBA)
-
16
【Excel VBA】指定行以降をクリアするには?
Visual Basic(VBA)
-
17
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excelの不要な行の削除ができな...
-
エクセルファイルのシート毎の容量
-
複数シートからデータを拾って...
-
Excelでシートの違うデータでグ...
-
シート削除して同名シート追加...
-
VBAで CTRL+HOMEの位置へ移動...
-
Excelのセル横にリスト表示をす...
-
エクセルVBAで、特定文字から始...
-
時間帯の重複を除いた集計について
-
EXCEL 複数行のデータを1行にま...
-
エクセルで名簿を50音で切り分ける
-
EXCELで2つのファイルから重複...
-
Excelで複数のファイルを一つの...
-
エクセルのカメラ機能について
-
EXCEL VBA 担当者毎にファイル作成
-
トランジスタの選び方
-
エクセルで、各シートにある品...
-
エクセル マクロ "特定の日付...
-
Excelのデータをデータベースで...
-
オートフィルタで抽出したデー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelの不要な行の削除ができな...
-
エクセルファイルのシート毎の容量
-
複数シートからデータを拾って...
-
Excelでシートの違うデータでグ...
-
シート削除して同名シート追加...
-
Excelで日付変更ごとに、自動的...
-
エクセル 縦に長い表の印刷時...
-
VBAで CTRL+HOMEの位置へ移動...
-
EXCELで2つのファイルから重複...
-
トランジスタの選び方
-
他のシートの一番下の行データ...
-
Googleスプレッドシートフィル...
-
Excel 売上管理シートに入力し...
-
EXCEL の表を一行ずつシートに...
-
エクセルで名簿を50音で切り分ける
-
excelマクロで複数シート間のデ...
-
エクセルVBAで、特定文字から始...
-
【エクセル」 特定のセルで条件...
-
時間帯の重複を除いた集計について
-
エクセルのカメラ機能について
おすすめ情報
返信ありがとうございます。
>今月以降の削除ではダメですか?
・月末に行う業務なので、先月末日がいいです!なので、後者のを試させて頂きました!ありがとうございます。しかし、構文エラーが発生してしまうのですがなぜでしょうか...勉強不足で申し訳けございません。
>セルのみ削除ですか?それとも行削除でしょうか?
・行ごと削除が嬉しいです(*_*)