存在するけど見つからない

"長〜〜〜〜〜い文字列"シリーズ(其の参)
(Excel2007では 8222文字以上、Excel2003以下では、1025文字以上)
 
今回のお話は単純です。
"長〜〜〜〜〜い文字列"の後ろの方の文字列は、「検索」でヒットしないというだけの内容です。
 
それでは、実験、実験。
例によって、

Sub Macro1()
  Dim rngA As Range

  Set rngA = ActiveSheet.Range("A1")
  rngA.ColumnWidth = 100
  rngA.WrapText = True
  rngA.Value = String(1023, "A") & "BC"
End Sub

でサンプルデータを作っておきます。
これで、セルA1に、Aがだっ〜と連なって最後のBC と入っている文字列が入ります。

さてと、この状態で"C"に対して、「検索」することにします。
 
まずは、[数式]で検索してみると、、、

そんなもんない!と言われます。
 
でも、[値]で検索してみると、、、

今度はちゃんとヒットします。
 
ちなみにマクロで検証するなら、こうです。

Sub Test1()
  Dim rngF As Range

  ' [数式]で検索する
  Set rngF = ActiveSheet.Cells.Find _
        (What:="C" _
        , LookIn:=xlFormulas _
        , LookAt:=xlPart _
        , MatchCase:=False)
  If rngF Is Nothing Then
    MsgBox "ないよ", vbInformation, "Test1"
  Else
    MsgBox rngF.Address, vbInformation, "Test1"
  End If
End Sub

 

Sub Test2()
  Dim rngF As Range

  ' [値]で検索する
  Set rngF = ActiveSheet.Cells.Find _
        (What:="C" _
        , LookIn:=xlValues _
        , LookAt:=xlPart _
        , MatchCase:=False)
  If rngF Is Nothing Then
    MsgBox "ないよ", vbInformation, "Test2"
  Else
    MsgBox rngF.Address, vbInformation, "Test2"
  End If
End Sub

 
※.Excel World の 2007年5月2日 08:05 の日記をコピーしています。
http://excel.sns.fc2.com/excel/