• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ユーザー定義関数の構文がわからない)

ユーザー定義関数の構文がわからない

このQ&Aのポイント
  • ユーザー定義関数の構文について理解ができません。
  • 質問のコードにコメントがなくて意味がわかりません。
  • インターネットで調べても参考情報が見つかりませんでした。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.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)
回答No.1

こんばんは。 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)を用いているので、後で、戻す時に使っているのだと思います。 何を引数にするのかは分りませんので、こちらでは使い方などは分りませんが、ただ、全体的にみて、個人的に作ったコードのようです。

hayashi23
質問者

お礼

返信ありがとうございます。 参考にして勉強してみます。