VBA100本ノック 24本目:全角英数のみ半角
こちらで公開されている、100本ノックに挑戦。
www.excel-ubara.com
素晴らしい教材を公開いただき、ありがとうございます。
上記リンク先から、問題文を転載。
文字列を一文字ずつ判定して、半角や大文字に直していく。
参照設定を使わないで済むよう、今回はLike演算子でやってみよう。
Function VBA_100Knock_024(source As Variant) As String Dim i As Long ' 文字を一文字ずつ格納するための配列。 Dim arr() As Variant ReDim arr(1 To Len(CStr(source))) Dim temp As String For i = 1 To UBound(arr) arr(i) = Mid(source, i, 1) ' 半角大文字に変換できたものは、変換すべきものと判定する。 temp = StrConv(arr(i), vbNarrow + vbUpperCase) If temp Like "[A-Z0-9]" Then arr(i) = temp End If Next VBA_100Knock_024 = Join(arr, vbNullString) End Function
※冒頭リンク先の解答例および解説も、ぜひご一読ください。
参考まで。