本学習テーマ紹介動画
👆本学習テーマをYouTubeで紹介しています!
チャンネル登録宜しくお願いします!
効果音ラボ ナレーション 音読さん
*基本的に, 記事投稿日翌日夜18:30頃から, 動画を閲覧できます。
本学習ツールでの問題文・解答例
問題文
以下の要件を満たすVBAのプログラムを実装して下さい。
要件
最初に, シート「読み込みand書き込みシート」をアクティベートする。 |
シート「読み込みand書き込みシート」の「取得データ」の セル範囲の値をRange変数.Valueを使って, 一括取得する。 |
シート「読み込みand書き込みシート」の 「数値データ書き込みセル」のセル範囲の値を削除する。 (初期化) |
取得したデータをインデックス指定でループして, IsNumeric関数を使って, 各要素が数字か判定し, 数字だった場合は「数値データ書き込みセル」中の 対応する行列の位置に入力する。 |
最後に, MsgBox関数(情報アイコン)で 「データ取得・数値データ書き込みを完了しました。」 と表示する。 |
解答例
Option Explicit
Sub correctAnswerExample()
Dim ws As Worksheet: Set ws = ThisWorkbook.Worksheets("読み込みand書き込みシート")
' アクティベート
ws.Activate
Dim getRng As Range: Set getRng = ws.Range(ws.Cells(6, 2), ws.Cells(7, 4))
Dim writeRng As Range: Set writeRng = ws.Range(ws.Cells(10, 2), ws.Cells(11, 4))
Dim data As Variant: data = getRng.Value
Dim i As Integer
Dim j As Integer
' 初期化
writeRng.ClearContents
For i = LBound(data, 1) To UBound(data, 1)
For j = LBound(data, 2) To UBound(data, 2)
If Not IsNumeric(data(i, j)) Then
' GoToは指定した箇所に処理を飛ばすことができる(処理が分かりにくくなることがある為, 乱用厳禁)
GoTo NextNode
End If
writeRng.Cells(i, j) = data(i, j)
NextNode:
Next j
Next i
MsgBox "データ取得・数値データ書き込みを完了しました。", vbInformation
End Sub
上のプログラムが実際に動く様子は, 下の学習ツールをダウンロードして, 確認してみて下さい!
本学習ツールの内容
下👇の画像のように, vbaでセル範囲データを一括取得し, それらのデータを処理するプログラムを実装し, それを実際に実行することが出来ます!
VBA設定
尚, 本ツールには, 「VBA」(Excelのプログラミング言語)が組み込まれている為, 以下のマニュアルに従った設定・エラー時の対処が必要となります。
ダウンロード
ぜひ, 勉強にご活用下さい!(xlsmファイル)👇
コメント