LibreOffice CalcでVBAのメソッド
LibreOffice Calcとは?
LibreOfficeは、The Document Foundationが支援する自由・オープンソースのオフィスソフトです。
ワープロ、表計算、プレゼンテーション、データベース、数式エディタの5つのアプリケーションで構成されています。
Microsoft Officeと互換性があります。
LibreOfficeの表計算ソフト…Excelに該当するのが、LibreOffice Calcです。
LibreOffice CalcはVBAで自動化でき、業務を効率化できる
ExcelというとVBAでプログラムをして自動化して業務を効率化することが出来ます。
では、LibreOffice Calcでプログラムをして自動化して業務を効率化する、どのように行えばいいのか?、分からないという方は多いのではないでしょうか?
LibreOffice Calcでプログラムをして自動化して業務を効率化する…その情報が非常に日本語で説明されているものが少なく、また見つけたとしても、これを覚えるのが大変だったりします。
しかし、それを解決する方法があります。
LibreOfficeでVBAを使うのです。
実はLibreOffice Calcは、VBAを使用することが出来ます。
VBAならたくさんの情報があります。
今回のブログ記事では、そのLibreOffice CalcのVBAのメソッドについて今回ご紹介します。
なお今回、Windowsを使用しましたが、Linuxでも使用できることを確認しました。
LibreOfficeを使われる方はLinuxユーザーが多いと思いますので、ぜひともLibreOfficeでVBAを使用していただきたいと思っています。
LibreOffice CalcでVBAのメソッドの使い方
VBAのメソッド
VBAで操作対象になるものをオブジェクトと呼びます
オブジェクトの持つものとして、プロパティとメソッドがあります。
今回はメソッドについてご説明します。
メソッドとは、動作のことです。
クリア、データの抽出、コピーなどがメソッドの代表的なものです。
①Clear
Clearは、値や書式などをクリアするメソッドです。
記述例は以下の通りです。
Range(“A1”).Clear
これはセルのA1をクリアするという意味です。
Clearの種類は以下の通りです。
Clear…書式や値、数式、コメントをクリアする
ClearContents…値や数式のみクリアする
ClearFormats…書式のみクリアする
ClearComments…コメントのみクリアする
よく使用するのはClearContentsです。
実際にClearメソッドで以下の表のC1をクリアしてみましょう。
コードは以下の通りです。
Option VBASupport 1
REM ***** BASIC *****
Sub sakujo
Range("C1").Clear
End Sub
F5キーを押して実行してみましょう。
このように、書式や値、数式、コメントの全てがクリアされました。
しかし、これだと表が不格好になってしまいます。文字…値だけがクリアされるのが好ましいでしょう。そこで値や数式のみをクリアするClearContentsを使ってみましょう。
コードは以下の通りです。
Option VBASupport 1
REM ***** BASIC *****
Sub sakujo
Range("C1").ClearContents
End Sub
F5キーを押して実行してみましょう。
このように文字…値だけクリアされました。
では、以下の表の商品名が入っているC2~C24をクリアしてみます。
コードは以下の通りです。
Option VBASupport 1
REM ***** BASIC *****
Sub sakujo
Range("C1:C23").ClearContents
End Sub
F5キーを押して実行してみましょう。
C2~C24の商品名がクリアされました。
②Copyメソッド
引数が必要なメソッドがありますが、その代表格がCopyメソッドです
セルなどをどの場所にコピーするか、という時に使用するメソッドです
記述方法は以下の通りです
セル.Copy Destination:= コピー先
※Destination:は半角スペースに置き換えることが出来ます。
Destination = コピー先が引数になります。
実際にCopyメソッドを使って、B5のセルをC5にコピーしてみましょう。
コードは以下の通りです。
Option VBASupport 1
REM ***** BASIC *****
Sub sakujo
Range("B5").Copy Destination:=Range("C5")
End Sub
F5キーを押して実行してみましょう。
このようにB5のセルがC5にコピーされました
なおDestination:は半角スペースに置き換えることが出来るので、以下のコードでも同じです。
Option VBASupport 1
REM ***** BASIC *****
Sub sakujo
Range("B5").Copy Range("C5")
End Sub
F5キーを押して実行してみましょう。
同じ結果が出ます。
③データの抽出するAutoFilterメソッド
データを抽出するメソッドがAutoFilterメソッドです。
これは複数の引数を使用します。
記述方法は以下の通りです
セル.AutoFilter フィールド, 基準
以下の表で、PowerPoint活用術でフィルターをかける場合を説明します。
以下のようなコードを入力します。
Range(“A1”).AutoFilter 3, “Impress(プレゼンテーション)入門”
なおセルは、表全体のセルならどこでも構いません。
VBAのAutoFilterメソッドの使用例
実際に以下の表で、Calc(表計算)入門でデータ抽出をしてみましょう。
コードは以下の通りです。
Option VBASupport 1
REM ***** BASIC *****
Sub autofilter
Range("C1").AutoFilter 3, "Calc(表計算)入門"
End Sub
F5キーを押して実行してみましょう。
このようにCalc(表計算)入門でデータが抽出されます。