Excel VBA質問箱 IV

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

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


30086 / 76732 ←次へ | 前へ→

【51916】結合セルにおけるFindNextメソッドでエラー
質問  potemkin  - 07/10/11(木) 13:10 -

引用なし
パスワード
   はじめまして。

excel2000を使用しているのですが、
検索処理が貧弱なため(全シート検索ができない)
検索マクロを組みました。
のですが、とある場合にエラーが発生してしまいます。

とある場合というのは
同一シート内に検索文字ヒットセルが1つのみ、かつ
そのセルが結合セルであるときに発生します。
FindNextメソッドが値を返してくれないために
エラーになっているようなのですが、対処方法がわかりません。

お恥ずかしい限りですが、もしよろしければ対処方法を
ご教授の程よろしくお願いいたします。
以下、コードです。(検索結果をリストに吐き出している処理です。)

Sub MakeList()
  Dim i As Integer
  Dim myCell As Range
  Dim myFirstCell As Range
  Dim myCellAdress As String
  Dim myFirstCellAdress As String
  
  
  For i = Me.ListBox1.ListCount - 1 To 0 Step -1
    Me.ListBox1.RemoveItem (i)
  Next i
  For i = 1 To Worksheets.count
    If LookAtCheckBox.Value = True Then
      Set myCell = Worksheets(i).Cells.Find(what:=Me.SearchTextBox.Text, _
                         after:=Range("A1"), _
                         LookAt:=xlWhole, _
                         MatchCase:=MatchCaseCheckBox.Value, _
                         MatchByte:=Me.MatchByteCheckBox.Value)
    Else
      Set myCell = Worksheets(i).Cells.Find(what:=Me.SearchTextBox.Text, _
                         after:=Range("A1"), _
                         LookAt:=xlPart, _
                         MatchCase:=MatchCaseCheckBox.Value, _
                         MatchByte:=Me.MatchByteCheckBox.Value)
    End If
    
    If Not myCell Is Nothing Then
      Me.MultiPage1(1).ListBox1.AddItem (Worksheets(i).Name & "/" & myCell.Address)
      Set myFirstCell = myCell
      myFirstCellAdress = myFirstCell.Address
      Do
        
        Set myCell = Worksheets(i).Cells.FindNext(after:=myCell)
        myCellAdress = myCell.Address
'        If myCell.Address = myFirstCell.Address Then
        If myCellAdress = myFirstCellAdress Then
          Exit Do
        End If
        
        Me.MultiPage1(1).ListBox1.AddItem (Worksheets(i).Name & "/" & myCell.Address)
        
        DoEvents
      Loop
    End If
  Next i

  Set myFirstCell = Nothing
  Set myCell = Nothing
End Sub
0 hits

【51916】結合セルにおけるFindNextメソッドでエラー potemkin 07/10/11(木) 13:10 質問
【51917】Re:結合セルにおけるFindNextメソッドでエ... Jaka 07/10/11(木) 15:56 発言
【51918】Re:結合セルにおけるFindNextメソッドでエ... potemkin 07/10/11(木) 17:01 質問
【51919】Re:結合セルにおけるFindNextメソッドでエ... ハチ 07/10/11(木) 17:53 発言
【51920】Re:結合セルにおけるFindNextメソッドでエ... りん 07/10/11(木) 19:51 発言
【51927】Re:結合セルにおけるFindNextメソッドでエ... potemkin 07/10/12(金) 9:23 お礼

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