この記事では、ExcelのVBAマクロを使用してセル内の文字数を調べる方法について解説していきます。
ポイントとしては、**Len関数**、**Mid関数**、**Asc関数**を使用することです。
なお、下記の解説では完全な初心者でもわかりやすいようにあえて変数名(あなた自身が名付けていい場所)を少々変わった名称にしております。
そのため、あなた自身がご活用の際には、ここを適切な(英語表記でしっくりくるものが一般的)ものに変更してご活用くださいね。
それでは詳しく見ていきましょう!
VBAマクロでセル内の文字数をカウント、チェック、取得、調べる方法【A列にデータあり、B列に文字数を表示、全角のみの文字列】【Len関数】
それではまず、全角のみの文字列について解説していきます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub ZenkakuMojiKazoeru()
Dim LastRow As Long
Dim i As Long
Dim moji As String
Dim hensuu As Integer
LastRow = ThisWorkbook.Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To LastRow
moji = Cells(i, 1).Value
hensuu = Len(moji)
Cells(i, 2).Value = hensuu
Next i
End Sub
コードのAlt+F8を押し、マクロ選択画面でZenkakuMojiKazoeru関数を実行します。
このステップでは、A列にある全角のみの文字列の文字数をB列に表示しています。Len関数を使用して、文字列の長さを取得しています。
—
VBAマクロでセル内の文字数をカウント、チェック、取得、調べる方法【A列にデータあり、B列に文字数を表示、数値の桁数など半角のみの文字列】【Len関数】
続いては、半角のみの文字列について解説していきます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub HankakuMojiKazoeru()
Dim LastRow As Long
Dim i As Long
Dim suuchi As String
Dim hensuu As Integer
LastRow = ThisWorkbook.Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To LastRow
suuchi = Cells(i, 1).Value
hensuu = Len(suuchi)
Cells(i, 2).Value = hensuu
Next i
End Sub
コードのAlt+F8を押し、マクロ選択画面でHankakuMojiKazoeru関数を実行します。
このステップでは、A列にある半角のみの文字列や数値の桁数をB列に表示しています。Len関数を使用して、文字列の長さを取得しています。
—
VBAマクロでセル内の文字数をカウント、チェック、取得、調べる方法【A列にデータあり、B列に文字数を表示、全角と半角の文字列が混在】【Mid関数、Asc関数】
続いては、全角と半角の文字列が混在している場合について解説していきます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub KonzatsuMojiKazoeru()
Dim LastRow As Long
Dim i As Long
Dim j As Integer
Dim mojiTanni As String
Dim hensuu As Integer
LastRow = ThisWorkbook.Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To LastRow
hensuu = 0
For j = 1 To Len(Cells(i, 1).Value)
mojiTanni = Mid(Cells(i, 1).Value, j, 1)
If Asc(mojiTanni) > 127 Then
hensuu = hensuu + 2
Else
hensuu = hensuu + 1
End If
Next j
Cells(i, 2).Value = hensuu
Next i
End Sub
コードのAlt+F8を押し、マクロ選択画面でKonzatsuMojiKazoeru関数を実行します。
このステップでは、A列にある全角と半角が混在している文字列の文字数をB列に表示しています。Mid関数とAsc関数を使用して、各文字が全角か半角かを判断しています。
まとめ
この記事では、ExcelのVBAマクロを使用して、セル内の文字数を調べる方法について解説しました。具体的には、Len関数、Mid