本学習テーマ紹介動画
👆本学習テーマをYouTubeで紹介しています!
チャンネル登録宜しくお願いします!
効果音ラボ ナレーション 音読さん
*基本的に, 記事投稿日翌日夜18:30頃から, 動画を閲覧できます。
本学習ツールでの問題文・解答例
問題文
以下の要件を満たすVBAのプログラムを実装して下さい。
要件
シート「読み込みシート」での 「対象文字列」が「検索文字列」を全角半角、大文字小文字区別せず含むか判定し、 判定結果をMsgBox関数で 「『対象文字列』は『検索文字列』を含みます(ません)。」 と表示して下さい。 |
「検索文字列」が空欄の場合は, MsgBox関数で「検索文字列が空欄です。」として、プログラムを終了する。 |
プログラム開始時にシート「読み込みシート」をアクティベートにする。 |
解答例
Option Explicit
Sub correctAnswerExample()
Dim ws As Worksheet
Dim targetStr As String
Dim searchStr As String
Dim judgeResult As Boolean
' ワークシートの設定
Set ws = ThisWorkbook.Worksheets("読み込みシート")
' シート「読み込みシート」をアクティブ化
ws.Activate
' 対象文字列を取得
targetStr = ws.Cells(6, 2).Value
' 検索文字列を取得
searchStr = ws.Cells(6, 4).Value
' 検索文字列が空欄の場合は終了
If searchStr = "" Then
MsgBox "検索文字列が空欄です。"
Exit Sub
End If
' 対象文字列が検索文字列を含むか判定
If InStr(1, targetStr, searchStr, vbTextCompare) > 0 Then
judgeResult = True
Else
judgeResult = False
End If
' 判定結果を表示
If judgeResult Then
MsgBox "「" & targetStr & "」は「" & searchStr & "」 を含みます。"
Else
MsgBox "「" & targetStr & "」は「" & searchStr & "」 を含みません。"
End If
End Sub
上のプログラムが実際に動く様子は, 下の学習ツールをダウンロードして, 確認してみて下さい!
本学習ツールの内容
下👇の画像のように, vbaでinstr関数を使って対象文字列が検索文字列を含むか判定する方法を学ぶことが出来ます!
*2枚目の「正答シート」の画像は, 学習前に答えを知りたくない方は飛ばして見て頂くようお願い致します。
本学習テーマの格言
- vbaのinstr関数で全角半角, 大文字小文字の区別なく判定してみよう!
- instr関数は, 4つ目の引数でvbTextCompareを指定すると全角半角, 大文字小文字の区別なく判定がでできます。判定例を以下に記載します。
対象文字列 | 検索文字列 |
InStr | str |
大文字小文字の区別有り (vbBinaryCompare) | 大文字小文字の区別無し (vbTextCompare) | |
判定結果 〇:含む ×:含まない | 〇 | × |
VBA設定
尚, 本ツールには, 「VBA」(Excelのプログラミング言語)が組み込まれている為, 以下のマニュアルに従った設定・エラー時の対処が必要となります。
ダウンロード
ぜひ, 勉強にご活用下さい!👇
コメント