- ベストアンサー
ユーザー定義関数の構文がわからない
- ユーザー定義関数の構文について理解ができません。
- 質問のコードにコメントがなくて意味がわかりません。
- インターネットで調べても参考情報が見つかりませんでした。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1のWendy02です。 少し訂正があります。 引数の範囲が明確ではありませんから、k = p.Cells(1,1) は、k =p.Cells(1) として、1だけは明確に特定できます。 >Application.Count ですと、エラー値を返すだけですので 文章がヘンでした。Application.[ワークシート関数] という仕組みで、Application.Countでは、エラー値は返しません。単に、0 だけです。 >ただ、全体的にみて、個人的に作ったコードのようです。 この理由は、変数名で、インクリメント数以外について、一文字のアルファベットだからで、r や n や p など、何を指すのか分らないような書き方は、ほとんどはテストケースにしか用いません。
その他の回答 (1)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 k = p(1) 私は、k = p(1) という書き方はしませんね。配列と間違いますので、紛らわしくてしょうがないです。確かに、配列と考えてもよいけれども、ただしくは、k = p.Cells(1,1) と書きますね。 Application.Count(p) ワークシート関数を直接、Application クラスから取っています。古い書き方の1つです。ただ、Countは、エラーを返すことはありませんので、あえて、Application.Count と書く必要はありません。通常、WorksheetFunction ですと、エラーがあると、実行時エラーとなってしまいますが、Application.Count ですと、エラー値を返すだけですので、エラー値を、IsError(Ret) で捕らえることが出来ます。 t = Sgn(position) これは、VBAの初歩的な関数ですから、説明の必要もないと思います。単に、値の符号を取っているだけです。絶対値(Abs)を用いているので、後で、戻す時に使っているのだと思います。 何を引数にするのかは分りませんので、こちらでは使い方などは分りませんが、ただ、全体的にみて、個人的に作ったコードのようです。
お礼
返信ありがとうございます。 参考にして勉強してみます。