[[20171006011018]] 『削除するマクロ』(みさ) ページの最後に飛ぶ

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

 

『削除するマクロ』(みさ)

C16:AG16のいずれかのセルが空白なら縦の列の
C18:AG18
C23:AG23
C28:AG28
を削除したい
例えばAE16が空白ならAE18 AE23 AE28のセルを削除
   AG16が空白ならAG18 AG23 AG28noセルを削除

カレンダーになっていて
C16:AG16には12345678910・・・31日付が入ってます
9月は30日なのでどうしても空白になってしまうので空白を消したいです
よろしくお願いいたします。

< 使用 Excel:Excel2003、使用 OS:WindowsXP >


 よくわかならいのですが、
 削除したところで空白は空白ではないのですか?
 カレンダーなら、AEが空白ならAGも空白だと思いますが
 削除して、どっちに詰めるのですか?行?列?

 AGの周辺だけでよいので、beforeとafterの表を提示いただけませんか?
(稲葉) 2017/10/06(金) 05:51

日付がC17:AG17 1日C17=DATE($AM$18,$A$1,C16) 〜31日AG16=IF(AG16="","",DATE($AM$18,$A$1,AG16))
カレンダーではなく曜日が入ってます。月火水木金土日です
詰めるのではなくセルの内容を削除するだけでいいのですが
例えばAE17が空白ならAE18 AE23 AE28のセルを削除
AG17が空白ならAG18 AG23 AG28noセルを削除
空白ならAE18 AE23 AE28のセルに対して入力されている物を消したいです
空白になる箇所はうるう年などのためだと思いますのでAE17とAF17とAG17のみになります。
よろしくお願いします

(みさ) 2017/10/06(金) 09:51


 まだ良く分かっていませんが、こういうことですか?
    Sub test()
        Dim r As Range
        For Each r In Range("C16:AG16")
            If r.Value = "" Then
                Cells(18, r.Column).ClearContents
                Cells(23, r.Column).ClearContents
                Cells(28, r.Column).ClearContents
            End If
        Next r
    End Sub
(稲葉) 2017/10/06(金) 10:49

こんにちは
希望通りです。
教えていただきありがとうございました。
(みさ) 2017/10/06(金) 13:22

コメント返信:

[ 一覧(最新更新順) ]


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