[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『前月の日付のみのデータを残し、それ以外は削除したいのですが』(芙蓉)
7月にデータの抽出を行った場合は正常にできたのですが、
8月分のデータ抽出作業を行ったところエラーが発生してしまいました。
具体的には、D列に下記の日付が入力されています。
2022/5/25
2022/6/1
2022/6/2
2022/6/7
2022/7/8
上記の日付の内、前月の日付(2022/7/8)が入力された行のみ残し、
それ以外は削除したいのですが、
「型が一致しません」というエラーが出てしまいます。
実行vbaは下記となります。
Dim r As Range Dim d As Date d = DateAdd("m", -1, DateSerial(Year(Date), Month(Date), 1)) With Range("D4", Cells(Rows.Count, "D").End(xlUp)) For Each r In .Cells If Not DateSerial(Year(r), Month(r), 1) = d Then r.ClearContents End If Next r On Error Resume Next .SpecialCells(xlCellTypeBlanks).EntireRow.Delete xlShiftUp On Error GoTo 0 End With
「If Not DateSerial(Year(r), Month(r), 1) = d Then」
に問題があると表示されています。
試行錯誤でやっているのですが、上手くいきません。
ご教示宜しくお願い致します。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
提示例と提示コードでは、想定通り(2022/7/8の行のみ残る)の動作をしました。
型が一致していないとのことなので、 D列に日付以外のデータが入っているということはないですか? 空白行があってもエラーになると思います。 (ホタルイカ) 2022/08/10(水) 20:05
>試行錯誤でやっているのですが、上手くいきません。
どのようなことを試行錯誤されましたか?
1.前月を調べる 2.前月より前(例なら2022/7/1より前)なら行削除
とすれば、よいだけですよね。判定条件を見直してみては?
(もこな2) 2022/08/10(水) 20:07
重ねての質問で申し訳ないのですが、別の作業でもエラーが出てしまっています。
Sheet1にエクスポートしたデータを貼り付け、
体裁調整をした後、Sheet2に貼り付けるマクロを組んでいるのですが、
「既にデータがあります。置き換えますか?」というメッセージが出ます。
「OK」を押すとO列まであったデータがK列までになってしまうのです。
(4列が消えてしまう)
「いいえ」を押すと「RangeクラスのText To Columnsメソッドが失敗しました」と
なってしまいます。
エラーが関係しているvbaは
Selection.TextToColumns Destination:=Range("I1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _ Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _ :=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
の箇所で発生しています。
このメッセージはどの様な時に出るのでしょうか。
実は今月初めにデータを抽出して同様のマクロを実行した時は、
正常に動作していまして・・・。
どうぞ宜しくお願い致します。
(芙蓉) 2022/08/10(水) 22:45
>データを再度見直しているところです。 エラーで止まった時のrの値を見れば良いのでは。
区切り位置の方ですが、 スペースで区切る様ですが、区切るデータの末尾にスペースが入っていませんか? 4列が消えているのではなく、末尾のスペースが上書きされているのでは。 (ホタルイカ) 2022/08/11(木) 07:33
データを見直したところ、
挿入した列以上のスペースが入力した文字のところどころに入っていました。
そちらを削除したところ、正常に動作するようになりました。
末尾にもスペースが入っていました。
日付の問題も解消しております。
本当に有り難うございました。
(芙蓉) 2022/08/11(木) 11:31
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.