|
▼川崎 さん:
おはようございます。
>ちなみに提示してもらったコードを実行してみたところ
>wk = UBound(add_array())のadd_array()のところでコンパイルエラーが
>でます?
>どうしたらいいのでしょうか?
まずこれ↑について。
VBEにて、
・「ツール」----「オプション」とクリックしてオプションダイアログを表示させてください。
・「全般」タブ」の「エラートラップ」という項目で「エラー発生時に中断」が選択されていませんか?そうだとしたら、「エラー処理対象外で中断」を選択して「OK」ボタンを押してください。
この設定になっていれば、本来は、
>wk = UBound(add_array())のadd_array()
のコードでエラーになることはありません
(エラーにならないようにこのコードのちょっと上の行で
On error resume next というステートメントを記述しています)。
> >それとWorkbook_SheetCalculateはできるだけ必須にしてもらいたいのですが。
>ユーザー定義関数を作成するのですから、↑の意味がわかりませんが・・・。
>
>ここが絶対はずせないポイントだということです。
>これが出来ないのであればユーザー定義関数をつくる意味がなくなるので。
>ユーザー定義関数でこれと同じ動作をするものを作れないか?
>ということです。
Workbook_SheetCalculateイベントプロシジャーが作動するタイミングで
ご希望の処理がなされているのなら、提示して関数のコードでもいけるはずです。
>使用例
>あるシートの
>セルC1に「=calc_dsub_fvalue(B1)」と指定します。
>セルB1に「=A1*20」と指定します。
>セルA1には、最初に「20」と指定してEnterキーで確定してください。
>セルB1、及び、C1は、共に「400」と表示されます。
>次いで、セルA1に「25」と指定してEnterキーで確定してください。
>セルB1は、「500」と表示され、
>セルC1は、500−400の解である「100」が表示されます。
この例のcalc_dsub_fvalue関数は、セルA1のデータの手入力に
反応して、作動するのではありません。
セルB1に入力されている数式の値の変化に反応して作動します。
この例では、セルBIの値を変化させるためにセルA1に数値を入力しているに
すぎません。
何はともあれ、このエラーの原因を見つけるのが先決ですが・・・。
確認してください。
|
|