【LibreOffice Calc】LibreOffice CalcでVBAの条件分岐(If文)の使い方【初心者向け】

LibreOffice CalcでVBAの条件分岐(If文)

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の条件分岐(If文)の使い方をご紹介します。

なお今回、Windowsを使用しましたが、Linuxでも使用できることを確認しました。

LibreOfficeを使われる方はLinuxユーザーが多いと思いますので、ぜひともLibreOfficeでVBAを使用していただきたいと思っています。

LibreOffice CalcでVBAの条件分岐(If文)の使い方

VBAの条件分岐(If文)とは

「もし◯◯なら□□を行う、そうでなければ☓☓を行う」といった処理を、条件分岐と言います。

もし雨が降ったら、家で過ごす、そうでなければ外出する、そんな感じです。

VBAで条件分岐を行う場合、If文を使用します。

If文を使う際に、覚えておくのは、真の場合はTrue 、偽の場合はFalseという言葉を使うことです。

これはLibreOffice Calcの関数であるIF関数を使用したことがある方なら分かると思います。

さてVBAのIf文の書式ですが、2つあります。

①真の場合…Trueのみ処理する書く場合

真の場合…Trueのみ処理する書く場合は以下のように書きます。

If 条件式 Then
Trueの場合の処理
End If

②偽の場合…Falseの処理も書く場合

偽の場合…Falseの処理も書く場合は以下のように書きます。

If 条件式 Then
Trueの場合の処理
Else
Falseの場合の処理
End If

LibreOffice CalcでVBAを使用した条件分岐(If文)の具体例① 金額が5,000円以下の場合は送料欄に500円を表示する

以下の表で、Excel VBAのIf文で金額が5,000円以下の場合は送料欄に500円を表示するということを行ってみます。

LibreOffice CalcでVBAの条件分岐(If文)の使い方

コードは以下の通りになります。

LibreOffice CalcでVBAの条件分岐(If文)の使い方
Option VBASupport 1
REM  *****  BASIC  *****

Sub soryo

	If Range("F2").Value < 5000 Then
	
	   Range("G2").Value = 500
	   	 
    End If
	
End Sub

Range(“F2”).Value < 5000が、金額が5,000円以下の場合という条件式になります。

Range(“G2”).Value = 500が、Trueの場合の処理の処理になります。

F5キーを押して、実行すると以下のように、送料500円が表示されています。

LibreOffice CalcでVBAの条件分岐(If文)の使い方

LibreOffice CalcでVBAを使用した条件分岐(If文)の具体例② 最終行まで計算するという表を、If文を使用して、金額が2,000円以下の場合は送料500円を表示する

では応用編として、実際に前回のブログ記事(LibreOffice CalcのVBAを使って最終行を取得する方法)作成した最終行まで計算するという表を、If文を使用して、金額が3,000円以下の場合は送料500円を表示する、ということを行います。

LibreOffice CalcでVBAの条件分岐(If文)の使い方

コードは以下のようになります。

LibreOffice CalcでVBAの条件分岐(If文)の使い方
	Dim saisyugyo As Long
	saisyugyo = Cells(Rows.Count, 1).End(xlUp).row
	
	Dim i As Long

	For i = 2 To saisyugyo
	
		Dim kurikaeshi As Long
		
		kurikaeshi = Range("D" & i).Value * Range("E" & i).Value

		Range("F" & i).Value = kurikaeshi
		
			If Range("F" & i).Value < 3000 Then
			
			 Range("G" & i).Value = 500	 
			 
			End If

	Next i
	
End Sub

前回同様、最終行まで計算させるために、Range(“F” & i)というように& iを入力します。

F5キーを押して、実行すると以下のように、送料500円が表示されています。

LibreOffice CalcでVBAの条件分岐(If文)の使い方

この実行結果だと、送料500円は表示されますが、空欄の部分が出てしまいます。なのでこの空欄部分を0と表示させるようにします。

コードは以下の通りです。

LibreOffice CalcでVBAの条件分岐(If文)の使い方
Option VBASupport 1
REM  *****  BASIC  *****

Sub soryo

	Dim saisyugyo As Long
	saisyugyo = Cells(Rows.Count, 1).End(xlUp).row
	
	Dim i As Long

	For i = 2 To saisyugyo
	
		Dim kurikaeshi As Long
		
		kurikaeshi = Range("D" & i).Value * Range("E" & i).Value

		Range("F" & i).Value = kurikaeshi
		
			If Range("F" & i).Value < 3000 Then
			
			 Range("G" & i).Value = 500
			 
			 Else
			 
			 Range("G" & i).Value = 0	 
			 
			End If

	Next i
	
End Sub

Elseと入力し、改行し

Falseの場合の処理である、Range(“G” & i).Value = 0を入力します。

F5キーを押して、実行すると以下のように、空欄が0が表示されます。

LibreOffice CalcでVBAの条件分岐(If文)の使い方
タイトルとURLをコピーしました