LibreOfficc 最大値

Pocket

Libre Officce Basic
ほとんどネット検索でのBasicの勉強してます

Calc Ver.5.0.6.2で最大値を見つける方法

今回は関数を作成して戻り値として受け取って表示させてみます

最大値を求める範囲を指定して関数を呼び出し結果を表示するルーチン
  MaxCall() 
最大値を求める関数
  MaxData(Range)
  を作成します

Sub MaxCall()
Dim x As Variant
x = “B2:E6”
msgbox(MaxData(x))
End Sub
Private Function MaxData(Range)
Dim oDoc As Object
Dim oSheet As Object
Dim oRange As Object
oDoc = ThisComponent
oSheet = oDoc.getCurrentController.getActiveSheet()
oRange = oSheet.getCellRangeByName(Range)

MaxData = oRange.computeFunction(com.sun.star.sheet.GeneralFunction.MAX)

End Function

まず Sub MaxCall()です

x = “B2:E6”

変数 x に調べるデータの範囲を設定します
今回は固定にしました。シート上でセルを反転させて選択することも可能ですがそっちは追々勉強していこうと思っています。
また、シート上の範囲に名前を設定しておけばその名前をダブルクォテーションで囲って設定することも可能です

x = “シート上の名前“ でOK

msgbox(MaxData(x))

関数 MaxData に範囲を引数として受け渡し結果を表示させます

そして MaxData(Range) です

最大値を調べる範囲の設定
oRange = oSheet.getCellRangeByName(Range)
セル範囲は引数Rangeとしてルーチンから受け取っています
MaxData = oRange.computeFunction(com.sun.star.sheet.GeneralFunction.MAX)  (com.sun.star.sheet.GeneralFunction)メソッドを使用する
メソッドの事は詳しく知らないのですが最後に記入するパラメータにMaxを指定すると最大値を求めます。合計の時はSUM,最小値はMINです。
そして MaxDataに調べた最大値を格納しルーチンへ戻っていきます。

今まではMicrosoftOfficceを使用してきたがWinVistaのサーポート終了に伴いWindowsからLinuxに移行したためLibreOfficceの勉強中

いかにVBAが簡単だったかを痛感しています

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする