Excel VBA質問箱 IV

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

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


9134 / 13646 ツリー ←次へ | 前へ→

【29185】書式の付いた(パターン色)セルを一度に削除する方法 haramama 05/9/27(火) 11:41 質問[未読]
【29190】Re:書式の付いた(パターン色)セルを一度... でれすけ 05/9/27(火) 12:32 回答[未読]
【29192】Re:書式の付いた(パターン色)セルを一度... haramama 05/9/27(火) 13:15 お礼[未読]

【29185】書式の付いた(パターン色)セルを一度に...
質問  haramama  - 05/9/27(火) 11:41 -

引用なし
パスワード
   初めての投稿です、よろしくお願いします。
区間ごとに複数列にまたがるセルを等間隔で削除するマクロを
作成中です。
区間ごとに間隔(m)は異なります。
とりあえず手動で行数と間隔を指定し、削除する
行に色をつけるところまで設定しましたが、
色をつけた部分だけ一度に削除するといったことは
可能でしょうか?
色をつけずに
Selection.Delete shift:=xlUp
と書くと、せり上がってしまうので最初に指定した
範囲後のセルまで削られてしまいます。
そのため色をつけてから、削除をしようかと思いました。
色ではなく特定文字にした方が良いでしょうか?

特殊なデータの処理ですので、ご理解いただけるかどうか
分かりませんが、、、
アドバイス頂けると幸いです。


--------------------------------------ここから
Sheets(1).Select
  
  Dim i, j, k, l, m As Long
  
    k = InputBox("何行目から?")
    l = InputBox("何行目まで?")
    m = InputBox("何行おき?")
    
  For i = k To l Step m
    
    For j = 18 To 27
      Cells(i, j).Select
      Selection.Interior.ColorIndex = 15
      
    Next j
  Next i

----------------------------------------ここまで

【29190】Re:書式の付いた(パターン色)セルを一...
回答  でれすけ  - 05/9/27(火) 12:32 -

引用なし
パスワード
   こんにちは。

根本の問題点は、
>区間ごとに複数列にまたがるセルを等間隔で削除するマクロを
このときに、
>Selection.Delete shift:=xlUp
>と書くと、せり上がってしまうので最初に指定した
>範囲後のセルまで削られてしまいます。
ということですよね。

これは、すごく簡単に解決できます。
上の行から処理するからそうなるので、
下の方か処理してくるとOKです。

>    k = InputBox("何行目から?")
>    l = InputBox("何行目まで?")
>    m = InputBox("何行おき?")
>    
>  For i = k To l Step m
この行を    
  For i = l To k Step -m
とすればいいです。

>書式の付いた(パターン色)セルを一度に削除する方法
一度に削除というのは出来ないので、結局ループで回すことになります。
結局同じ問題点にぶち当たります。

「削除のループは後ろから処理」するというのは覚えておくといいです。

【29192】Re:書式の付いた(パターン色)セルを一...
お礼  haramama  - 05/9/27(火) 13:15 -

引用なし
パスワード
   でれすけさま

投稿者です。

無事解決しました!!
感謝!感謝!です m(__)m

本当にありがとうございました。

これからもよろしくお願い致します。

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