当サイトはアフィリエイト広告を利用しています

VBA学習ツール無料配布!#23 テーマ: vbaでfor eachループを実装!

VBA学習ツール-テーマ: vbaでfor eachループを実装! VBA学習
VBA学習ツール-テーマ: vbaでfor eachループを実装!

当サイト作成者が業務自動化!

freelance_profile_smartphone

お客様評価★5当サービスの「強み」3選

  1. 経験豊富!現役エンジニアが担当!
    • 販売実績37件!
    • 幅広い技術力!
      • VBA(Excel)
      • GAS(スプレッドシート)
      • Python
  2. 格安!
    • 価格2万円~
  3. 親切・丁寧なご要望・質問対応!

本学習テーマ紹介動画

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でfor eachループを実装!の問題文&解答シート
VBA学習ツール-テーマ: vbaでfor eachループを実装!の問題文&解答シート
VBA学習ツール-テーマ: vbaでfor eachループを実装!の正答シート
VBA学習ツール-テーマ: vbaでfor eachループを実装!の正答シート
VBA学習ツール-テーマ: vbaでfor eachループを実装!の読み込み&書き込みシート
VBA学習ツール-テーマ: vbaでfor eachループを実装!の読み込み&書き込みシート

VBA設定

尚, 本ツールには, 「VBA」(Excelのプログラミング言語)が組み込まれている為, 以下のマニュアルに従った設定・エラー時の対処が必要となります。

ダウンロード

ぜひ, 勉強にご活用下さい!(xlsmファイル)👇

コメント

タイトルとURLをコピーしました