エクセル及びマクロ初心者です。
お手柔らかにお願いいたします。
<現状>
※ソフトから顧客データを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も見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
基準日以前のデータを範囲を指定して削除するVBA
Excel(エクセル)
-
エクセルVBA 今日の日付行を削除
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
-
4
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
5
難問 VBA 今日の日付より前に対するイベント処理
Visual Basic(VBA)
-
6
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
7
EXCELで日付と時刻が入ったセルを日付だけ取り出したい
Excel(エクセル)
-
8
別のシートから値を取得するとき
Visual Basic(VBA)
-
9
ExcelのVBAのマクロで他のシートの複数項目をクリアする方法
Visual Basic(VBA)
-
10
Excel VBA A列が特定の値以外の場合、その行を削除
Excel(エクセル)
-
11
Excelで特定の日付以降の非表示
Excel(エクセル)
-
12
特定の文字がある行以外を削除するマクロ
その他(Microsoft Office)
-
13
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
14
基準日よりも古い日付の列を削除したい(VBA)
Excel(エクセル)
-
15
【VBA】2つのシートの値を比較して条件一致したら、同じ行の隣の値を別ブックへ転記したいです。 VB
Visual Basic(VBA)
-
16
vba 2つの条件が一致したらコピーして別シートに値のみ貼り付け
Visual Basic(VBA)
-
17
VBA 指定した列にある日時データから時間を削除する方法について
Excel(エクセル)
-
18
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
19
エクセルVBAでオートフィルター最上行を取得するには
Excel(エクセル)
-
20
Excel VBA あるセルでENTERを押すと特定のセルへ移動したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルファイルのシート毎の容量
-
複数シートからデータを拾って...
-
Excelでシートの違うデータでグ...
-
Excelで日付変更ごとに、自動的...
-
エクセルで名簿を50音で切り分ける
-
excelの不要な行の削除ができな...
-
シート削除して同名シート追加...
-
他のシートの一番下の行データ...
-
VBAで CTRL+HOMEの位置へ移動...
-
エクセル VBA VLOOKUP
-
エクセル マクロ "特定の日付...
-
【エクセルマクロ】複数シート...
-
オートフィルタで抽出したデー...
-
Excel 売上管理シートに入力し...
-
Excelファイルの容量が異常に大...
-
エクセルで複数行のデータを1列...
-
エクセルで一覧表から担当別シ...
-
エクセルのファイルが8MBも!!
-
エクセルで行の自動非表示の方法は
-
ピボットテーブルのデータソー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルファイルのシート毎の容量
-
複数シートからデータを拾って...
-
Excelでシートの違うデータでグ...
-
シート削除して同名シート追加...
-
Excelで日付変更ごとに、自動的...
-
excelの不要な行の削除ができな...
-
VBAで CTRL+HOMEの位置へ移動...
-
(VBAにて)日付でデータを抽出す...
-
EXCELで2つのファイルから重複...
-
他のシートの一番下の行データ...
-
エクセルのカメラ機能について
-
トランジスタの選び方
-
別々のシートの表をピボットテ...
-
エクセル 縦に長い表の印刷時...
-
EXCEL 複数行のデータを1行にま...
-
【エクセル」 特定のセルで条件...
-
オートフィルタで抽出したデー...
-
Excel 売上管理シートに入力し...
-
エクセル VBA VLOOKUP
-
EXCEL の表を一行ずつシートに...
おすすめ情報
返信ありがとうございます。
>今月以降の削除ではダメですか?
・月末に行う業務なので、先月末日がいいです!なので、後者のを試させて頂きました!ありがとうございます。しかし、構文エラーが発生してしまうのですがなぜでしょうか...勉強不足で申し訳けございません。
>セルのみ削除ですか?それとも行削除でしょうか?
・行ごと削除が嬉しいです(*_*)