「Apple - Total」のインスタンスが存在する可能性があるコードがありますが、「Apple」のインスタンスが常に存在するのに対し、非常にまれです。文字列が行内に存在するかどうかをチェックするコードをどのように作成できますか?問題は現時点では、コードが存在しない場合にバグが出るということです。 "Apple - Total"のインスタンスがある場合は、 "Apple"以上の優先順位が必要です。 RのTry関数のようなものが動作します。あなたはまた、使用することができ文字列が行内にあるかどうかを確認する
If WorksheetFunction.Match(Apple & "-Total", Sheets("SOFP").Range("2:2"), 0) > 0 Then
letr = WorksheetFunction.Match(Fund & "-Total", Sheets("SOFP").Range("2:2"), 0)
letr = Split(Cells(, letr).Address, "$")(1)
cur = Sheets("SOFP").Offset(1, 0).Value
ElseIf WorksheetFunction.Match(Apple , Sheets("SOFP").Range("2:2"), 0) > 0 Then
letr = WorksheetFunction.Match(Fund, Sheets("SOFP").Range("2:2"), 0)
letr = Split(Cells(, letr).Address, "$")(1)
cur = Trim(Sheets("SOFP").Offset(1, 0).Value)
End If
Oあなたが必要とするエラーやラベル、または最初にチェックしてください。 http://www.cpearson.com/excel/errorhandling.htm –
'.Find'を使わない理由は何ですか? –
エラーを無視したい場合は、宣言変数の下に 'On Error Resume Next'を追加できます。 –