Excel VBA質問箱 IV

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

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


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

【51758】findメソッドについて ひろ 07/10/3(水) 19:25 質問[未読]
【51760】Re:findメソッドについて ichinose 07/10/3(水) 20:10 発言[未読]

【51758】findメソッドについて
質問  ひろ  - 07/10/3(水) 19:25 -

引用なし
パスワード
   findメソッドを使用して下記のコードを作成しました。
が、エラーが出ます。

エラーメッセージは、
「オブジェクト変数またはwithブロック変数が設定されていません」
です。

何故でしょうか?教えてください。

Dim SearchArea, findstr As Range
Dim firstaddress As String

  Set SearchArea = ActiveSheet.UsedRange
  Set findstr = SearchArea.Find(what:="部門")
  If findstr Is Nothing Then Exit Sub
  firstaddress = findstr.Address
  
  Do
    findstr.Value = "dell"
    Set findstr = SearchArea.FindNext(after:=findstr)
  Loop While findstr.Address <> firstaddress And Not findstr Is Nothing・・・ここでエラーが出ます。

【51760】Re:findメソッドについて
発言  ichinose  - 07/10/3(水) 20:10 -

引用なし
パスワード
   ▼ひろ さん:
こんばんは。

>findメソッドを使用して下記のコードを作成しました。
>が、エラーが出ます。
>
>エラーメッセージは、
>「オブジェクト変数またはwithブロック変数が設定されていません」
>です。
>
>何故でしょうか?教えてください。
>
>Dim SearchArea, findstr As Range
>Dim firstaddress As String
>
>  Set SearchArea = ActiveSheet.UsedRange
>  Set findstr = SearchArea.Find(what:="部門")
>  If findstr Is Nothing Then Exit Sub
>  firstaddress = findstr.Address
>  
>  Do
>    findstr.Value = "dell"
>    Set findstr = SearchArea.FindNext(after:=findstr)
>  Loop While findstr.Address <> firstaddress And Not findstr Is Nothing・・・ここでエラーが出ます。

findstrがNothingならば、findstr.Address は、エラーになりますよね?

これ、「部門」という文字列を「dell」に置換するのなら、
RangeオブジェクトのReplaceメソッドを使う方が簡単かと思いますよ!!

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