本学習テーマ紹介動画
YouTube
作成した動画を友だち、家族、世界中の人たちと共有
👆本学習テーマをYouTubeで紹介しています!
チャンネル登録宜しくお願いします!
効果音ラボ ナレーション 音読さん
*基本的に, 記事投稿日翌日夜18:30頃から, 動画を閲覧できます。
本学習ツールでの問題文・解答例
問題文
以下の要件を満たすVBAのプログラムを実装して下さい。
要件
シート「読み込み&書き込みシート」の「転記元テーブル」の データ範囲の値をFor Each文でループして「転記先テーブル」に追加していく。 尚、追加前に「転記先テーブル」のデータは削除しておく。 |
最後にシート「読み込み&書き込みシート」をアクティベートにして, MsgBox関数で「実行完了」と表示する。 |
解答例
Option Explicit
Sub correctAnswerExample()
Dim ws As Worksheet
Dim sourceTable As ListObject
Dim destTable As ListObject
Dim sourceRow As ListRow
Dim destRow As ListRow
' シート「読み込み&書き込みシート」を取得
Set ws = ThisWorkbook.Sheets("読み込み&書き込みシート")
' 転記元テーブルと転記先テーブルを取得
Set sourceTable = ws.ListObjects("転記元テーブル")
Set destTable = ws.ListObjects("転記先テーブル")
' 転記先テーブルのデータを削除
If destTable.ListRows.Count > 0 Then
destTable.DataBodyRange.Delete
End If
' 転記元テーブルの各行を転記先テーブルに追加
For Each sourceRow In sourceTable.ListRows
Set destRow = destTable.ListRows.Add
destRow.Range.Value = sourceRow.Range.Value
Next sourceRow
' シート「読み込み&書き込みシート」をアクティベート
ws.Activate
' 実行完了のメッセージを表示
MsgBox "実行完了"
End Sub
上のプログラムが実際に動く様子は, 下の学習ツールをダウンロードして, 確認してみて下さい!
本学習ツールの内容
下👇の画像のように, For Each文でループするプログラムを実装し, そのプログラムを実際に実行することが出来ます!
VBA設定
尚, 本ツールには, 「VBA」(Excelのプログラミング言語)が組み込まれている為, 以下のマニュアルに従った設定・エラー時の対処が必要となります。
ダウンロード
ぜひ, 勉強にご活用下さい!(xlsmファイル)👇
コメント