2017-10-27 13 views
0

範囲内のセルがあるかどうかを確認するには、("B9:B" & LastRowCarArea)の値がセルのThisCellinProjectListと一致しているかどうかを確認します。このセルの値は、常に数値ではなく文字列になります。セルの値がセル範囲内の値と一致する場合はTrueまたはFalseを返します

If Application.Match(ThisCellinProjectList, CheckSheet.Range("B9:B" & LastrowCarArea), 1) > 1 Then 

私はThisCellinProjectListのセル値に一致する検索範囲には細胞が存在しない場合、実行時エラーを取得していますが、なぜうまくいかないことができます。

ご協力いただければ幸いです。

+0

私はちょうどvbaで 'countif'関数を使い、値が範囲内にあるかどうかを特定する'> 0'という条件を持っています。なぜその特定のエラーが発生しているのか分かりません。 – Jarom

+0

これは正常な動作です。エラー処理でトラップできる一致が見つからない場合は、エラーが発生します。 @ Jaromは、countifがはるかに簡単であると述べています。 – Absinthe

+0

'Application.Match(ThisCellinProjectList、CheckSheet.Range(" B9:B "&LastrowCarArea)、1)'はエラーを返し、エラーが1より大きいかどうかテストすることはできません –

答えて

0

For Each...Nextの文を使用してThisCellinProjectListRange("B9:B" & LastrowCarArea)に見つけることができます。

Dim ThisCellinProjectList As String 
Dim LastrowCarArea As Long 
Dim myRange As Range 

ThisCellinProjectList = Worksheets("Sheet1").Range("B7").Value 
LastrowCarArea = Worksheets("Sheet1").Cells(Rows.Count, 2).End(xlUp).Row 
Set myRange = Worksheets("Sheet1").Range("B9:B" & LastrowCarArea) 

For Each cell In myRange 
    If cell = ThisCellinProjectList Then 
     Worksheets("Sheet1").Range("C7") = "TRUE" 
'   cell.Offset(0, 1) = "TRUE" 
     End If 
Next cell 
関連する問題