Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11943 / 76734 ←次へ | 前へ→

【70319】Re:日付を条件に行を削除する方法
発言  kanabun  - 11/11/1(火) 16:42 -

引用なし
パスワード
   ▼KOKO さん:


>A列に日付のデータが入っています。例)2011/10/31
>表は抽出するたびに総データ数が変化します。
>A列にデータがある中から、2012/3/31以降の
>データを行ごと削除したいのですが、
>どのような記述となるのでしょうか?

一行目に列見出しが書いてあるとして、
AutoFilterを使ったらどうでしょ


Sub Try1()
  Dim r As Range
  Dim date1 As Date
  
  date1 = "2011/10/31"
  Set r = Range("A1", Cells(Rows.Count, 1).End(xlUp))
  r.Worksheet.AutoFilterMode = False 'フィルタ解除(念のため)
  r.AutoFilter 1, ">=" & CLng(date1) 'A列にフィルタをかける
  If r.SpecialCells(xlVisible).Count > 1 Then '1行以上該当セルがあれば
    Intersect(r, r.Offset(1)).EntireRow.Delete '行削除
  End If
  r.AutoFilter
  
End Sub


>    Intersect(r, r.Offset(1)).EntireRow.Delete '行削除

これは 範囲r と この範囲を1行下にシフトした範囲との共通する範囲のうちの
「可視セルだけを行削除」します。
つまり、単に
    r.EntireRow.Delete '行削除

とすると、可視セルだけ行削除してくれますが、そうすると1行目の見出し行
まで削除されてしまうので、そのために一行目を除外する対策です。

6 hits

【70316】日付を条件に行を削除する方法 KOKO 11/11/1(火) 14:21 質問
【70319】Re:日付を条件に行を削除する方法 kanabun 11/11/1(火) 16:42 発言
【70320】Re:日付を条件に行を削除する方法 kanabun 11/11/1(火) 16:50 発言
【70324】Re:日付を条件に行を削除する方法 KOKO 11/11/1(火) 18:28 お礼
【70322】Re:日付を条件に行を削除する方法 UO3 11/11/1(火) 17:32 発言
【70325】Re:日付を条件に行を削除する方法 KOKO 11/11/1(火) 18:30 お礼

11943 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free