Excel VBA質問箱 IV

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

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


9669 / 76734 ←次へ | 前へ→

【72624】Re:列で検索するモジュールの書き方
発言  UO3  - 12/8/29(水) 17:07 -

引用なし
パスワード
   ▼はってんちゅう さん:

こんにちは

>列(コラム)で使用すると「RangeクラスのFindNextプロパティを取得できません」とのエラーとなります。

列方向の検索だからエラーになっているのではありません。

>Set cNo = .FindNext(cNo)

この右辺の cNo は、このセルの次から検索するよ という記述ですね。
では、その cNo は、どうなっているでしょうか?

まず、

>cNo = cNo.Column

これで、Rangeオブジェクトではなく 数値になっていますね。
で、仮に、ここを 別の変数 = cNo.Column とし、次のコードを
Columns(別の変数).Delete shift:=xlToLeft
このようにしたとしましょう。
そうすると、cNo というセルも含んで削除されますから、cNoがなくなるわけで
やはり、
Set cNo = .FndNext(cNo) でエラーになります。

対処する方法はいくつかありますが、一番簡単なのは、その都度削除するのではなく
検索できたセルオブジェクトをUnionで格納しておき、処理の最後に、この格納があれば
その EnireRow を Delete こんな感じでしょうかね。

4 hits

【72621】列で検索するモジュールの書き方 はってんちゅう 12/8/29(水) 16:44 質問
【72624】Re:列で検索するモジュールの書き方 UO3 12/8/29(水) 17:07 発言
【72625】Re:列で検索するモジュールの書き方 UO3 12/8/29(水) 17:20 発言
【72633】Re:列で検索するモジュールの書き方 はってんちゅう 12/8/29(水) 20:30 お礼

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