|
▼やまごん さん:
おはようございます。
>[具体例]
>A3からA10までの範囲に「DATA」と命名
>B3からB10のセルに「=DATA+1」と記述すれば、Aの列の値に1を足した値を表示します。
配列使わなくてもできるんですね、知りませんでした(メモメモ)。
>function cal(X)
>cal=x+1
>end function
>のマクロをつくり、C3からC10のセルに、=cal(data)としても、#VALUEとなります。
'===================================================
Function samp(nm As Range)
Dim rng As Range
Dim cr As Range
If nm.Count = 1 Then
Set cr = nm
Else
Set rng = Application.Caller
Set wk = Application.Intersect(rng.EntireRow, nm)
If Not wk Is Nothing Then
Set cr = wk
Else
Set wk = Application.Intersect(rng.EntireColumn, nm)
If Not wk Is Nothing Then
Set cr = wk
Else
Set cr = Nothing
End If
End If
End If
samp = cr.Value + 1
End Function
引数nmをVariant型にした場合は、事前にデータの型のチェックも必要ですね。
|
|