Excel VBA質問箱 IV

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

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


25223 / 76736 ←次へ | 前へ→

【56857】Re:非表示行の削除
発言  kanabun  - 08/7/8(火) 16:44 -

引用なし
パスワード
   ▼初心者さっち さん:
>▼kanabun さん:
>
>もう少しお付き合いください。
>
>>全ての行を検索し、非表示行なら削除」
>>Sub Try1()
>> Dim c As Range, rr As Range
  'Rangeオブジェクト型の変数を宣言 (cは 行ループ用、rr は削除行の集合)
  '◆変数rr は 非表示行を格納するコンテナのようなものです。
>
>> For Each c In ActiveSheet.UsedRange.Rows
>  '要素変数c,アクティブなシートの選択行?
  → 上から順に1行ずつチェックしていく  (c : ループカウンタ変数)
>
>>   If c.Hidden Then
>    'cが非表示なら・・
>    'この行c が 非表示行だったら、コンテナrr にこの行を容れます
     '◆そのとき、コンテナrrが 空っぽのときと すでに行オブジェクトが
       収納されているときとで、処理を分岐します
       ↓
>>    If rr Is Nothing Then
>     '変数rr に何も代入されていないとき、 _
       つまり、はじめて非表示行が見つかったときは _
        ↓ 削除行用の変数 rr に 最初の非表示行を 放り込みます
>>      Set rr = c
>>    Else
       '削除行の集合rr にすでに1つ以上 非表示行が格納されていたら、
       それまでの非表示行の集合に この行 c を追加します。
>>      Set rr = Union(rr, c)
>       '
>>    End If
>>   End If
>> Next
>> If Not rr Is Nothing Then
>  ’
>>   rr.Delete
>    '非表示行を全部削除する。
>> End If
>>End Sub

0 hits

【56845】非表示行の削除 初心者さっち 08/7/8(火) 14:02 質問
【56850】Re:非表示行の削除 kanabun 08/7/8(火) 14:39 発言
【56853】Re:非表示行の削除 初心者さっち 08/7/8(火) 15:51 お礼
【56854】Re:非表示行の削除 初心者さっち 08/7/8(火) 16:19 質問
【56857】Re:非表示行の削除 kanabun 08/7/8(火) 16:44 発言
【56859】Re:非表示行の削除 初心者さっち 08/7/8(火) 18:02 お礼
【56862】Re:非表示行の削除 kanabun 08/7/8(火) 18:54 発言
【56863】Re:非表示行の削除 初心者さっち 08/7/9(水) 8:35 お礼

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