MENU

アプリの構造

説明に使う事例

本アプリで作成されるコードを、セルの値が「りんご」のときに、セルの色を赤にする事例で説明します。

f:id:The-Alchemist:20220217173210p:plain

アプリで作成されるコード

日本語の変数

本アプリの変数は、コードが読みやすい日本語です。

Dim  セル範囲 As String, セル As Range, 右下セル As String

Subが2つ

ひとつの処理に対して、2つのSubが作成されます。

上のSub

Sub りんごを赤に_1() '色変更
 Dim  セル範囲 As String, セル As Range, 右下セル As String
 Sheets("sheet1").Select
  Range("C2").Select

◆最終行を取得し、セル範囲を決める                       
 Range(Selection,Selection).CurrentRegion.Select
 右下セル = Cells(Selection.Row+ Selection.Rows.Count-1,           Range("C2").Column).Address(False, False)
 セル範囲 = "C2" & ":" & 右下セル 

◆繰り返し
  For Each セル In Range(セル範囲).Cells

◆条件分岐
      If セル.Value = "りんご"    Then  
           セル.Select

             Call  りんごを赤に_1_メイン処理(セル範囲)
      End If

 Next
End Sub    

上のSubは、繰り返し(For Each~Next)・条件分岐( If~End If)を使い、対象セル(オブジェクト)を選び(Select)ます。そして、下のSubを呼び出し(Call)ます。

下のSub

Sub りんごを赤に_1_メイン処理  (セル範囲 As String)
 Selection.Offset(0,0).Interior.Color = RGB(255,0,0)
End sub   

下のSubは、対象セル(Selection)に(プロパティ)の設定や、処理(メソッド)の実行をします。

上の例は、セルの色を”赤”にします。

連続トリガー

プログラム表示画面の下方にある「連続トリガー」をVBEに貼り付けると、作成済みのコードを連続して実行可能です。

Sub りんごを赤に_連続トリガー() 
                         Call りんごを赤に_1()
                         Call りんごを赤に_2()
                         Call りんごを赤に_3()
End Sub

マクロ名には、作成した順の枝番が、自動で付きます。

連続トリガーは、その枝番順に、一括処理します。

(設定画面で、新たなマクロ名を使うと、枝番は1に戻ります)

まとめ

エクセルの「マクロの記録」は、最終セルの取得繰り返し条件分岐ができません。

一方、本アプリは、それらをコード化できる点が特徴です。

アプリはこちらから↓↓↓↓