スプレッドシートを Excel 2007 から Mac Excel 2011 に変換しています。何時間も問題を解決しようとしましたが、成功しませんでした。
この UDF は範囲内の文字列を検索し、見つかったセルの 1 つ下のセルの値を返します。SET コマンドは、Mac バージョンでは何も返しませんが、Excel 2007 では機能します。
Function FindRng(Fnd As String)
Application.Volatile
Dim Rng As Range
If Fnd = "" Then
FindRng = 0
GoTo 109
End If
With Sheets("Matrix").Range("G2:FZ13")
Set Rng = .Find(What:=Fnd, _
After:=.Cells(2, 7), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not Rng Is Nothing Then
FindRng = Sheets("Matrix").Cells(Rng.Row + 1, Rng.Column).Value
Else
FindRng = 0
End If
End With
109 End Function