|
>▼γ さん:
>
>>ただ、これだけなので、Functionプロシージャにする意味もなさそうですが。
>
> → 1枚のシートの中に、同時に計算できない排他的な行が多数あるためFunctionにしたいと考えています。(チェックBoxで再計算したい行を指定)
>
これはあとまわしにしましょう。
>−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
>>ansがRange変数になっていますが、どこのセルか指定がないし、
>
> → Func2の引数にセル(B1等)を入力しています。
> 呼び方は「=func2(b1)」や「=func2("b1")」など、各種パターンを試してみましたが、症状は変わらずでした。
>=func2(b1)」や「=func2("b1")」など
それは arg変数のことですよね。
私が言っているのは、あなたが宣言した ans 変数です。
Dim ans As Range
として、その後、どこのセルと指定することなく、直接、
ans = ans & c.Text
などとしていますが、そういうことはできません。
>−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
>>For Each c In arg
>> ans = ans & c.Text
>>Next c
>>は、ansは String型に変更すれば、
>>各セルに表示されているものを文字列として連結している
>>ということは理解されていますか?
>
> → これは、指定したセル(B1)を"B"+"1"とマージしていると理解していますが。
どうしたら、そういう理解になるのか説明していただけますか?
For Each c In arg
というのは、argというセル範囲の、各セル c について、以下を繰り返す、
という意味でしょう?
やりたいことは、指定したセル範囲arg を再計算するんだから、
端的に arg.Calculate
とすればよいだけじゃないんですか?
|
|