[[20060420155455]] 『指定範囲のクリア』(くりあ) ページの最後に飛ぶ

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

 

『指定範囲のクリア』(くりあ)

Sub オールクリア()

    If vbYes = MsgBox("消去しますか?", vbYesNo) Then
        With ActiveSheet
            .Range("B4:D44,M4,N4,O4,N18,M10,M45,N45").ClearContents
            .Range("M4").Select
        End With
        MsgBox "消去しました"
    Else
        MsgBox "中止します"
    End If
 End Sub

上のコードを過去ログで見つけました。

クリアしたいセルの部分”B4:D44,M4,N4,O4,N18,M10,M45,N45”を

"C4:F34,I4:L34,O4:R34,U4:X34,AA4:AD34,AG4:AJ34,AM4:AP34,AS4:AV34,AY4:BB34,
BE4:BH34,BK4:BN34,BQ4:BT34,BW4:BZ34,CC4:CF34,CI4:CL34,CO4:CR34,CU4:CX34,
DA4:DD34,DG4:DJ34,DM4:DP34,DS4:DV34,DY4:EB34,EE4:EH34,EK4:EN34,EQ4:WT34,
EW4:EZ34,EC4:FF34,FI4:FL34,FO4:FR34,FU4:FX34,GA4:GD34,GG4:GJ34,GM4:GP34,
GS4:GV34,GY4:HB34,HE4:HH34,HK4:HN34,HQ4:HT34,HW4:HZ34,IC4:IF34,II4:IL34,
IO4:IR34,C57:F87,I57:L87,O57:R87,U57:X87,AA57:AD87,AG57:AJ87,AM57:AP87,
AS57:AV87"

に直したらエラーが出てしまいます。指定範囲が多すぎるのでしょうか・・・。
どうしたらよいか教えて下さい。


 セル範囲に名前を付けてみたらどうでしょう? 例えばセル範囲名を
 hani と付けて、 .Range("hani").ClearContents  とします。
 ダメだったらごめんなさいです。
(純丸)(o^-')b


純丸様

セル範囲に名前をつけるとゆうのは、シート上の挿入→名前→定義 ですか?

(くりあ)



 名前定義は普通にやったら文字数制限にぎりぎり引っかかりそうです。(1024文字)
いっぺんにやらずにある程度の範囲で何回かに分けてクリアすればよいのでは?
(みやほりん)(-_∂)b


 なるほど〜文字制限ですか。そこまでは考えてなかった。
 みやほりんさん、ありがとうです。m(__)m 

 で、一応名前の付け方ですが、挿入メニューでもいいのですが、
 先に範囲を選択して、A列のすぐ上あたりにある「名前ボックス」に
 直接名前を入力する方が簡単です。
(純丸)(o^-')b

みやほりん様

純丸様

分けて名前定義したら出来ました。ありがとうございました。

(くりあ)


 解決済みですが、こんな規則正しく並んだデータはそうあるもんやおまへんなぁ。
 それを利用してこういうんもよろしいかと・・・
      (弥太郎)

 Sub clear()
    Dim n As Integer

    For n = 3 To 252 Step 6
        Cells(4, n).Resize(31, 4).ClearContents
        If n < 48 Then
            Cells(57, n).Resize(31, 4).ClearContents
        End If
    Next n
 End Sub


 こんな感じでも?

 Sub test()
 Dim myRng, txt As String
 For i = 3 To 250 Step 6
     If i < 49 Then
         txt = txt & Range(Cells(4, i), Cells(34, i + 3)).Address(0, 0) & "," _
             & Range(Cells(57, i), Cells(87, i + 3)).Address(0, 0) & ","
     Else
         txt = txt & Range(Cells(4, i), Cells(34, i + 3)).Address(0, 0) & ","
     End If
     If Len(txt) > 240 Then
         Range(Left(txt, Len(txt) - 1)).ClearContents
         txt = Empty
     End If
 Next
 If Len(txt) Then _
     Range(Left(txt, Len(txt) - 1)).ClearContents
 End Sub
 (seiya)


 将棋名人殿
 clear は予約語ゆえ、マクロの名前には使わない方がいいかと。
(純丸)(o^-')b


 ししょ〜は今頃晩酌中です♪
今日の肴は何だろな〜☆
(ROUGE)18:29

 ↑
 ↑
 あっ、痛いトコ突かれた〜(笑
 話は逸れて、Gはなんであんなに強いんやろ??

 ↑
 タイの刺身にワカメ&小松菜の甘夏あえ、たこ、キュウリ、ワカメの酢の物。
 せやけど、酢の物には箸付けず・・・(笑
 なんで我が家の食卓事情を報告せなアカンねん、もう!
 juukasannzeiやで!
      (弥太郎) 

 > juukasannzeiやで!
あいや〜、お代官様ご勘弁を〜m(__)m
ところでお酒の種類は?σ(^-^;)はビール!
(ROUGE)←懲りてない

 今日のσ(^o^;)は、焼酎〜♪
(キリキ)←関係ない

コメント返信:

[ 一覧(最新更新順) ]


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