【VBA】実際に配列を使ってみた

VBA

こんにちは、kazuです。
本日はVBAの配列を使ってみたので
解説していきます。

なぜVBAの配列を使ってみたのか

まずはVBAに配列は使えるのか知りたかったということがあります。
もともとVBをベースにしているので使えるとは思っていましたが、
やはり使えました(というか使えないプログラム言語はあるのか。笑)
あとはVBAではどのような書き方か知りたかったので調べてみて今回簡単なコードを
作ってみました。
ちなみにですがプログラミング言語によって書き方が違います。
どのように違うか知りたい方は以前JavaScriptの配列記事がありますので
参考にしてみてください。

関連記事

こんにちは、kazuです。 本日はjavascriptでの配列について 書いていきます。 配列の使いかた 配列とはデータが集まったものことです。 言葉だけではわかりませんよね? 配列の書き方は let name = ["t[…]

どういうプログラムなのか

まずコードを見る前にどのようなプログラムかどうかを説明します。
今回はサンプル程度に作ったものなのであまり難しいことはしていないと思いますので、
初心者の方も問題なくわかると思います。
まずシートを2つ作って片方のシートに文字列を3つ書いてその文字列を配列に入れ込みます。
そして配列に入れた文字列をもう片方のシートに出力するプログラムを作りました。
文字だけではわかりずらいかもしれませんので下の画像を見てみてください。

この画像が文字列を配列に入れ込むためのシート及び文字列になります。

この画像が配列の文字列を出力する前の画像になります。

この画像がプログラムを実行して文字列を出力した画像になります。

ちなみに同じ実行で2つのコードを作ってみましたので次で紹介していきます。

実際にコードを見てみよう

ではプログラムがわかったところで実際にコードを紹介します。
下記コードは配列やシートの宣言をしてから一つずつ配列に取り込んでいます。
そして実際に配列を一つずつセルに出力しています。

Sub ArrayProgram()
    Dim ArrayInput As Worksheet, ArrayOutput As Worksheet
    Dim TextList(3) As String
    
    Set ArrayInput = Worksheets("配列に取り込む用")
    Set ArrayOutput = Worksheets("配列から出力する用")
    
    ' 文字列を配列に入れ込むための処理
    TextList(0) = ArrayInput.Cells(3, 2).Value
    TextList(1) = ArrayInput.Cells(4, 2).Value
    TextList(2) = ArrayInput.Cells(5, 2).Value
    
    ' 文字列を配列からセルに出力するための処理
    ArrayOutput.Cells(3, 2).Value = TextList(0)
    ArrayOutput.Cells(4, 2).Value = TextList(1)
    ArrayOutput.Cells(5, 2).Value = TextList(2)
End Sub

次の方がコードも少なくて済むのでお勧めです。
ですが動きは全く同じです。
for文で回して文字列取得そして出力ということを
以下のコードで行っています。

Sub ArrayProgram2()
    Dim ArrayInput As Worksheet, ArrayOutput As Worksheet
    Dim TextList(3) As String
    Dim i As Integer
    
    Set ArrayInput = Worksheets("配列に取り込む用")
    Set ArrayOutput = Worksheets("配列から出力する用")
    
    For i = 0 To 2
        ' 文字列を配列に入れ込むための処理
        TextList(i) = ArrayInput.Cells(3 + i, 2).Value
        ' 文字列を配列からセルに出力するための処理
        ArrayOutput.Cells(3 + i, 2) = TextList(i)
    Next
End Sub

最後に

いかがでしたでしょうか?
VBAの配列の使い方少しはわかりましたでしょうか?
少しでも参考にしていただけたら筆者もうれしく思います。
意外とVBAでは配列を使う機会があるかもしれませんので、
覚えておいて損はないと思います。
最後までご覧いただきありがとうございました。

関連記事

こんにちは。kazuです。 本日はVBAで時間計算を行う方法になります。 今回は何を行うか まず時間を計算をセル上で行うと ↓ のように記載するようになると思います。 今回はそれをVBAでフォームに出して行う とい[…]

関連記事

こんにちは、kazuです。 本日はVBAの借金自動計算プログラムを作ってみたので、 こちらを解説していこうと思います。 なぜこのプログラムを作ったか まずどのようなプログラムかをお伝えします。 借金合計金額(画像の赤枠部分(借[…]