ユーザー定義関数名の末尾が数字だとエラー(テスト依頼)

ユーザー定義関数の以下の挙動についてお尋ねします
ユーザー定義関数の関数名の末尾が数字だとエラー509が出力されるようです
バージョンによる違いもありそうですが、ユーザー定義関数(Functionマクロ)の動きとしては正しい動きなのでしょうか?

※エラーになる!という方はOSの種類とLibreOfficeのバージョンを教えていただけないでしょうか? エラーになるOSとLOのバージョンをあらかじめ把握しておきたいのです、よろしくお願いします。

エラー:509 となる関数2例(関数の末尾が数字)

Public Function aaa123%(bbb%)

 aaa123 = bbb + bbb

End Function

Public Function aaa124(bbb as integer)as integer

aaa124 = bbb + bbb

End Function

関数名の終わりが数字の場合、関数実行時に以下のダイアログが立ち上がってきます
内容は「数式の入力間違いでしょ?」的です


LibreOffice Calc は入力された数式内にエラーを発見しました。
次の修正候補を適用しますか?

=AAA123*(A1)


掛け算の式ではないので「いいえ」を選択するとセルに「エラー:509」が表示されます。

エラーにならず、正しく値を返す関数2例(関数の末尾が数字ではなく文字(ここではB))

Public Function aaa123B%(bbb%)

 aaa123B = bbb + bbb

End Function

Public Function aaa124B(bbb as integer)as integer

aaa124B = bbb + bbb

End Function

上記2例のように関数名の末尾が数字以外であればエラーにはならない。

関数名の末尾が数字の場合に「エラー:509」となるのは正しい動作なのでしょうか?
それともマクロの不具合なのでしょうか?
Excel_VBAの場合はxls形式であればエラーにならず、xlsxmだとCalcと同じ動作だったように思います
LinuxMintではVersion: 24.2.7.2 (X86_64) / LibreOffice Community
Build ID: 420(Build:2)でWindows-Calc同様に「エラー:509」が出力されます

関数名がAAA123ではセルアドレスとして認識されるのではないでしょうか?
ZZZ123とかKAKE2とかですとエラーになりません。
数式チェックの優先順位がエクセルとは違うのかもしれません。

Version: 25.2.7.2 (X86_64) / LibreOffice Community
Build ID: 5cbfd1ab6520636bb5f7b99185aa69bd7456825d
CPU threads: 12; OS: Windows 11 X86_64 (10.0 build 26200); UI render: Skia/Raster; VCL: win
Locale: ja-JP (ja_JP); UI: ja-JP
Calc: CL threaded
3 Likes

sabr0 さん 早速、対応していただきありがとうございます。
セルアドレスとして認識しているのでは?という点には気が付きませんでした。
確かに、セルアドレスとして認識していると、エラー:509のメッセージ内容も合点がいきます
ありがとうございました。
関数名をセル値とは重複しないものに変更しようと思います。

1 Like