• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:OpenOffice Basicで引数を2つ利用する関数が作れません )

OpenOffice Basicで引数を2つ利用する関数が作れません

このQ&Aのポイント
  • Open Office Calc 3.1.1を使っています。引数を2つ利用する関数を作成したいが、演算結果が#NAME?になってしまう。シンプルな関数の切り分けを行い、引数を1つ利用する場合は正しく計算されることが確認できた。
  • 関数名のタイプミスの可能性を排除するために、引数の数を1つに変更してみたところ、計算できることが確認できた。引数を複数利用する方法に問題があると思われる。
  • アドバイスをいただけると助かります。

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

  • ベストアンサー
  • SortaNerd
  • ベストアンサー率43% (1185/2748)
回答No.1

試してみましたが正常です。 バージョンは同じく3.1.1です。 関数の値の区切りを「;」でなく「,」を使ってしまっていませんか?

sarusearch
質問者

お礼

ご指摘のとおりでした。ありがとうございます!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 前回の回答者です。 >以下で=test2(3,5)とすると結果が#NAME?になります。 基本的なことですが、ワークシート上では、(;)で入ります。#NAME?のエラーは、カンマ(,)を使ったからだと思います。 例: =TEST2(3;5) >できれば複数(3つ以上)引数を取る関数を作りたいのですが、 Function Test2(arg1 As Double, Optional arg2 As Double, Optional arg3 As Double) If IsMissing(arg2) Then arg2 =0 If IsMissing(arg3) Then arg3 =0 Test2 = arg1 + arg2 + arg3 End Function (Textベースでは、空白は入っています) 引数が足らない場合は、OOoのBASICなら、例えば、以下のようにして引数の足らない部分を避けるのではないかと思います。VBAでは、このような書き方はしませんが、こうしないと正しい解が返りません。他に書き方があるのかもしれませんが、前回書いた通り、パラメータ配列がありません。 パラメータにエラー値が入ると、それが数値化されますので、IsMissing がTrue の時に、パラメータに0を代入しなければなりません。 なお、前回、Lotus Symphony とは、ほとんど同じなのですが、OOo とのBasic Editor の違いは、全角スペースを受けないという違いに気がつきませんでした。

sarusearch
質問者

お礼

立て続けにありがとうございます。 やりたい事はこれでもう実現できそうです! ありがとうございました

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ユーザ定義関数の引数省略について

    VBAで自分で関数を作成しているのですが、 引数を複数省略したいときはどうすれば良いでしょうか? 例えば、Test(A as integer, Optional B as integer =1, Optional C as integer =1)という関数で Test(1,0)と記述した時に"0"は引数BなのかCなのかどうやって指定するのでしょうか? それとも複数省略は出来ないのでしょうか?

  • 関数の引数に複数のユーザ定義型変数を使いたい

    一つの関数の一つのパラメータが異なるユーザ定義型を受けられるようにしたいのですが、どのようにすればいいのでしょうか? Public Type TypeA strCodeA As String intNumA As Integer End Type Public Type TypeB strCodeB As String intNumB As Integer End Type Public Function funcTest(arg1 As Variant) As Integer (略) End Function と記述して関数を Dim datA As TypeA iResult = funcTest(datA) と呼び出そうとすると、次のようなエラーメッセージが表示されて進みません。 コンパイルエラー: パブリックオブジェクトモジュールで定義されたユーザー定義型に限り、変数に割り当てることができ、実行時バインディングの関数に渡すことができます。

  • 関数の引数

    こんにちわ。 ご存知の方、ご教授してもらえないでしょうか? VB.net2005を使っているのですが 関数の引数に変数をセットして、別関数で 引数に対してデータをセットすることは可能でしょうか? C言語でいうところのポインタを引数に渡し ポインタアドレスに書き込むような処理はVB.netでは 可能なんでしょうか? 下記のような事は試したのですが、うまく出来ませんでした(。。; public sub test1() dim mojiretu as string test2( mojiretu ) msgbox(mojiretu) end sub public sub test2( str as string) str = "文字列" end sub

  • 【エクセルVBA】Functionの引数として、配列は使えるのでしょうか?

    VBA初心者です。 Function で関数を定義するとき、その引数に配列を使う方法はあるのでしょうか? たとえば Function Test (C as double,n as integer) というFunctionの C に3×3の行列を入れたいのですが…。

  • 関数の引数のデフォルト値について

    PHP5.2.4を使用しています。 自作関数で、例えば数値や文字列を受け取る引数のデフォルト値を 「''」で入力されてないかをチェックする場合と、 「NULL」で入力されてないかをチェックする場合とでは、 どちらが良いというのはあるのでしょうか? function a($arg = '') {  if($arg == '')  {  } } //または function a($arg = NULL) {  if(is_null($arg))  {  } }

    • ベストアンサー
    • PHP
  • VBAの関数で引数渡しでエラー

    関数呼び出しでObject型を渡したいのですが「引数の型が一致していません」との エラーになってしまいます。 以下のプログラムをどのように修正すればよいのでしょうか? Sub Test() Dim obj As Object Set obj = CreateObject("Scripting.Dictionary")     :   Sample(obj) End Sub Function Sample(obj As Object) End Function

  • Application.OnTimeで引数付き関数を呼び出したい

    Application.OnTimeで引数付き関数を呼び出したいのですが、可能でしょうか? 例を挙げると、   Sub Procedure1 (index as integer)       MsgBox index   End Sub を、呼び出してみたいです。 詳しい方、よろしくお願いいたします。

  • access vbaで引数によって、関数を変えたい

    引数名の関数を実行したいのですが、どうすればいいでしょうか? 【やりたいイメージ】 Function 関数選択(関数) 関数選択 = 関数() ← 引数の関数が"z"の場合、"Function z()"を呼びたい End Function -------------------- 呼び出す関数 -------------------- Function a() a = "a" End Function ~ Function z() z = "z" End Function -------------------------- "Function 関数選択(関数)"の中で、ifやswich すればできると思うのですが、ずらずら書くのもうっとおしいのでスマートにしたいと思っています。 call がいいと思ったのですが、戻り値がかえせません。 何かいい方法はないでしょうか? よろしくお願いします。

  • ACCESS 引数をとるプロシージャの記述方法

    計算した結果を返すFancionプロシージャを作成したいのですが、幾つかの参考書を見ても戻り値が一つの説明しかありません。戻り値が二つほしいのですが無理なんでしょうか? 文字データAと数値データBを引数で取得し、それぞれの処理結果(A-DT及びB-DT)を返したいのですが、Calc_1には一つの処理結果しか指定できないと思いますが、戻り値を二つ返す記述方法を教えて頂けないでしょうか。よろしくお願いいたします。 Public Function Calc_1(A AS String,B AS Integer) AS String   ※Aを元に文字編集を行い編集結果をA-DTへ登録   ※Bを元に計算処理を行い処理結果をB-DTへ登録 End Function

  • 引数付のFuncitonプロシージャと引数付のSUBプロシージャの違い

    親プロシージャに数値を渡すときに、引数付のFuncitonプロシージャと引数付のSUBプロシージャは、結果を見ると同じ動きをするように思います。 このような場合、両者には、どのような違いがあるのでしょうか? Sub 親プロシージャ() Cells(1,MyNOend)=123 end Sub ・子プロシージャ Function FMyRowCnt(MyNOend As Integer) MyNOend = TMYKanriBkWs1.Range("D1").CurrentRegion.Rows.Count End Function Sub FMyRowCnt(MyNOend As Integer) MyNOend = TMYKanriBkWs1.Range("D1").CurrentRegion.Rows.Count End Sub 以上 よろしくお願い致します。

DCP-J515N記録紙がつまる
このQ&Aのポイント
  • DCP-J515Nで印刷をした時にエラーメッセージが出ました。記録紙がローラーの所で硬くなって詰まってしまう。紙を後ろから取り出しましたが何回も同じ位置でつまります。印刷は途中まで出来る感じですいつもは大丈夫なのですが子供が印刷しょうとして、どこか触ってしまったのかわからないので
  • パソコンもしくはスマートフォンのOSはWindows Vistaです。接続方法は未入力です。関連するソフト・アプリはありません。電話回線の種類は未入力です。
  • DCP-J515Nの印刷時にエラーメッセージが表示され、記録紙がローラーに詰まって印刷が途中で止まる問題が発生しています。後ろから紙を取り出しても同じ位置で詰まるため、子供が触った可能性も考えられます。使用している環境はWindows Vistaで接続方法は未入力です。関連するソフト・アプリや電話回線の種類はありません。
回答を見る

専門家に質問してみよう