以下のコード スニペットを使用して、「データ サマリー」シートから値を取得し、「QG サマリー」シートでそのデータを見つけます。一致するものがあれば、「QG サマリー」シートの最初の列に格納されているデータを取得します。 aCell 変数によって識別される行。
Dim str1 As String
Dim aCell As Range
str1 = Worksheets("Data Summary").Cells(aCell.Row, 3).Value
If (str1 <> "") Then
Set aCell = Worksheets("QG Summary").Columns(3).Find(What:=str1 _
, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
If Not aCell Is Nothing Then
str1 = Worksheets("QG Summary").Cells(aCell.Row, 1).Value
End If
End If
このコードは、変数 str1 の値が大きい (326 文字) 場合を除いて、すべてのケースで正常に機能します。str1 変数が大きな値に遭遇すると、このコードは実行時エラー '13': タイプの不一致で中断します。なんで?