本学習テーマ紹介動画
👆本学習テーマをYouTubeで紹介しています!
チャンネル登録宜しくお願いします!
効果音ラボ ナレーション 音読さん
*基本的に, 記事投稿日翌日夜18:30頃から, 動画を閲覧できます。
本学習ツールでの問題文・解答例
問題文
以下の要件を満たすVBAのプログラムを実装して下さい。
要件
最初に, シート「書き込みシート」をアクティベートする。 |
Dim arr(1,2) As Integerで2×3の整数型の配列を作る。 (配列の最小インデックスは指定しなければ, 0になる。) |
LBound, UBoundを用いて, 配列arrをループし, 作成した配列の各要素に0~5を代入する。 |
LBound, UBoundを用いて, 配列arrをループし, 配列の要素をシート「書き込みシート」内のセル「arr」に入力する。 |
最後に, MsgBox関数(情報アイコン)で 「arrの要素記入を完了しました。」と表示する。 |
解答例
Option Explicit
Sub correctAnswerExample()
Dim ws As Worksheet: Set ws = ThisWorkbook.Worksheets("書き込みシート")
' 2×3の整数型の配列を作成(最小インデックスは0)
Dim arr(1, 2) As Integer
Dim i As Integer
Dim j As Integer
Dim val As Integer
Dim arrRng As Range: Set arrRng = ws.Range(ws.Cells(6, 2), ws.Cells(7, 4))
' シート「書き込みシート」をアクティベート
ws.Activate
' 配列の各要素に0~5を代入
For i = LBound(arr, 1) To UBound(arr, 1)
For j = LBound(arr, 2) To UBound(arr, 2)
arr(i, j) = val
val = val + 1
Next j
Next i
' 配列の要素をシート「書き込みシート」内のセルに入力
' 複数セルが代入されたRange変数の最小インデックスは1であることに注意する
For i = LBound(arr, 1) To UBound(arr, 1)
For j = LBound(arr, 2) To UBound(arr, 2)
arrRng(i + 1, j + 1).value = arr(i, j)
Next j
Next i
' メッセージボックスで完了を通知
MsgBox "arrの要素記入を完了しました。", vbInformation
End Sub
上のプログラムが実際に動く様子は, 下の学習ツールをダウンロードして, 確認してみて下さい!
本学習ツールの内容
下👇の画像のように, vbaでLBound・UBoundを用いて配列の最小・最大インデックスを取得するプログラムを実装し, それを実際に実行することが出来ます!
VBA設定
尚, 本ツールには, 「VBA」(Excelのプログラミング言語)が組み込まれている為, 以下のマニュアルに従った設定・エラー時の対処が必要となります。
ダウンロード
ぜひ, 勉強にご活用下さい!(xlsmファイル)👇
コメント