私はExcelで、パラメータとして渡される日付を操作するカスタム関数を持っています。通常正常に動作しますが、パラメータとしてNOW()を直接渡すと、#VALUEになります。エラー。しかし、私がNOW()をセルに入れ、そのセルをパラメータとして渡すと、そのセルは動作します。私はExcel 2007とExcel 2016の両方でこれを試しましたが、どちらも同じ結果になります。Excelのカスタム関数でNOW()をパラメータとして渡すと、#VALUE!エラー?
私は(代わりに私の元の関数の)これを強調するために簡単な関数を作っ:
何さらに混乱だが、私は、それをコードし、ステップで値をストップを置くかのことですNOW()からが実際に渡され、関数が正しく実行されました。しかしスプレッドシートでは#VALUEとして表示されます!エラー。
ことが起こって、それを動作させるための方法ですなぜ誰でも知っていますか?私が言ったように、私は= NOW()で列を追加でき、そのセルをパラメータとして使うことができますが、余分なステップを踏まなければできないようにしたいと思います。
コードを画像に入れないでください。コピー&ペーストとテストができるように[編集]を使ってコードをオリジナル投稿に直接入れてください。 –
VB.NETとは異なり、すべてがVBAの 'Object'ではありません。非オブジェクトも渡すつもりなら、あなたのパラメータを 'Object'として宣言しないでください。それには「バリアント」があります。しかし、あなたが実際に異なる*意味*の値を渡したいのでなければ、 'ByVal inputThing As Date'はうまくいくでしょう。 – GSerg
TODAY()の代わりにNOW()を使用している理由はありますか?今は時間があり、TODAYはちょうど日付です。 @ Scott、理解された – Clouse24