教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA プログラミング】(関数48)Array関数のプログラミング例を教えて!

f:id:m_kbou:20211227134402p:plain

Array関数を使用したプログラミング例を紹介します。

 

 

例題

プログラム中に配列("北海道", "茨城県", "栃木県", "群馬県", "東京都", "京都府", "大阪府")を記述しておきます。抽出条件(A2セル)には「道・都・府・県」が選択できる様にプルダウンリストをセットします。この抽出条件からいずれかを選択し、<実行>ボタンをクリックします。抽出条件で選択した内容と配列に含まれる都道府県名の下1桁が一致した場合、結果欄(B列)に都道府県名を表示します。

[実行前]:

f:id:m_kbou:20211227135835p:plain

[実行後]:

f:id:m_kbou:20211227135847p:plain

f:id:m_kbou:20211227135906p:plain

 

プログラミング

プログラミングは以下の通りとなります。

[記述例]:

Sub サンプル()

  Dim 行 As Long
  Dim 番号 As Long
  Dim 配列 As Variant

  Range("B2:B5").ClearContents

  配列 = Array("北海道", "茨城県", "栃木県", "群馬県", "東京都", "京都府", "大阪府")

  行 = 2
  For 番号 = 0 To 6
    If (Right(配列(番号), 1) = Range("A2")) Then
      Range("B" & 行) = 配列(番号)
      行 = 行 + 1
    End If
  Next

End Sub

内容を説明すると、

「最初にArray関数を使用して配列に"北海道", "茨城県", "栃木県", "群馬県", "東京都", "京都府", "大阪府")をセットします。次にFor~Next文で処理をループさせます。ループさせる中で、配列に含まれる都道府県名の下1桁と抽出条件(A2セル)が一致するものを結果欄(B列)にセットして下さい。」

との意味になります。

f:id:m_kbou:20211227134923p:plain

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。また、ボタンにプログラムを割り当てるにはこちらを参考にして下さい。

 

ダウンロード

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com