[[20110922221050]] 『昨日以前の日付の行(一部)を消去する』(初心者) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『昨日以前の日付の行(一部)を消去する』(初心者)
日付の入っているエクセルの表で、過去日付となった行のBからHまでは、デルで削除したいのですが、どのようにマクロにしたらいいのか分かりません。2003-2007です。よろしくお願いします。

 以下のようなこと?
	A列	B列	C列	・・	H列	I列	・・
1行目	過去日	Del	Del	Del	Del	残す	残す
2行目	過去日	Del	Del	Del	Del	残す	残す
3行目	今日	残す	残す	残す	残す	残す	残す
4行目	将来	残す	残す	残す	残す	残す	残す
5行目	将来	残す	残す	残す	残す	残す	残す

 上の理解でいいなら

 Sub Sample()
    Dim c As Range

    With Sheets("Sheet1")
        For Each c In .Range("A1", .Range("A" & .Rows.Count).End(xlUp))  '1行目がタイトル行なら "A1" -> "A2"
            If c.Value < Date Then c.Offset(, 1).Resize(, 7).ClearContents
        Next
    End With

 End Sub

 (ぶらっと)

	A列	B列	C列	・・	H列	I列	・・
1行目	過去日	Del	Del	Del	Del	残す	残す
2行目	過去日	Del	Del	Del	Del	残す	残す
3行目	今日	残す	残す	残す	残す	残す	残す
4行目	将来	残す	残す	残す	残す	残す	残す
5行目	将来	残す	残す	残す	残す	残す	残す

例として記入いただきありがとうございました。すこしフォーマットが違って、
A列は表外B列は別の内容が入っていて、C列が○/△という日付になっています。
そして消したいのはBから日付も合わせてH列まで、といった感じです。

回答いただいて試してみたけど、あと少しというところでできませんでした。
ほんとに応用力がなくてすいません。教えてください。よろしくお願いします。


 それじゃぁ

 Sub Sample2()
    Dim c As Range

    With Sheets("Sheet1")
        For Each c In .Range("C1", .Range("C" & .Rows.Count).End(xlUp))  
            If c.Value < Date Then c.Offset(, -1).Resize(, 7).ClearContents
        Next
    End With

 End Sub

 (ぶらっと)

(ぷらっとさんへ)
応えていただいてありがとうございます。
こんばんはもうどうにも眠たいので、また明日続きをやってみたいと思います。
(初心者)


(ぷらっとさんへ)
その後見事にできました。マクロが楽しくなりました。ありがとうございました。(初心者)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.