No2とNo9について。
No2について、すべて4桁だとオーバーフローするので
データ型を変更します。
それと、tより左側の区切りが半角空白以外に直接
文字が入っていても認識できるように変更しました。
Function funcB(ByVal str As String) As Double
Dim xi As Long
Dim yi As Long
Dim xj As Long
Dim yj As Long
Dim xk As Long
Dim yk As Long
Dim i As Long
Dim j As Long
Dim k As Long
Dim istr As String
Dim jstr As String
Dim kstr As String
'一番目
xi = InStrRev(str, "t")
For yi = xi - 1 To 1 Step -1
If IsNumeric(Mid(str, yi, 1)) Then
istr = istr & Mid(str, yi, 1)
Else
Exit For
End If
Next
i = CLng(StrReverse(istr))
'二番目
xj = InStrRev(str, "h")
For yj = xj - 1 To 1 Step -1
If IsNumeric(Mid(str, yj, 1)) Then
jstr = jstr & Mid(str, yj, 1)
Else
Exit For
End If
Next
j = CLng(StrReverse(jstr))
'三番目
xk = InStrRev(str, "L")
For yk = xk - 1 To 1 Step -1
If IsNumeric(Mid(str, yk, 1)) Then
kstr = kstr & Mid(str, yk, 1)
Else
Exit For
End If
Next
k = CLng(StrReverse(kstr))
funcB = CDbl(i) * CDbl(j) * CDbl(k)
End Function