[VBA] Len関数で文字数をカウント
Len関数 の引数に文字列を渡すと 文字数をカウント して Long 型で返します。
空白文字も1文字として処理されます。
たとえば
と記述すると全文字数「12」が返されます。
文字を数えるマクロ
ユーザーさんが InputBox に入力した文章の文字を数えるマクロです。
Sub CountLetter()
Dim moji As String
moji = InputBox("文章を入力してください")
x = Len(moji)
MsgBox x
End Sub
マクロを実行すると「文章を入力してください」というダイアログボックスが現れるので、好きな文章(日本語でもアルファベットでもかまいません)を入力すると、その文字数がメッセージボックスに表示されます。たとえば「こばとちゃんは美人だな」と入力すると「 11 」が返ります。
Len関数で文字の総数をカウント
現在開いているシート(アクティブシート)の A 列のセルに入力されている文字を全てカウントするマクロです。
Sub CountCellLetter()
Dim r1 As Long, r2 As Long
Dim x As Long, ct As Long
Dim moji As String
r1 = ActiveSheet.Rows.Count
r2 = Cells(r1, 1).End(xlUp).Row
ct = 0
For i = 1 To r2
moji = Cells(i, 1)
x = Len(moji)
ct = ct + x
Next i
MsgBox ct
End Sub
アクティブシートの全行数を r1 に格納して、その数をもとに「 A 列 r1 行」から「.End(xlUp).Row」によってデータの入力されている末尾のセルの行数を参照して r2 に入れます。そして先頭からデータの入った末尾のセルまでループさせて文字数を拾い続けるという仕組みになっています。
Len関数で変数のバイト数をカウント
Len関数 の引数に変数を指定すると、その変数に必要なバイト数を Long 型で返します。
Len関数でバイト数を数えるマクロ
Integer 型と Long 型に必要なバイト数を表示するマクロです。
Sub CountByte()
Dim x As Integer, y As Long
bytex = Len(x)
bytey = Len(y)
MsgBox (bytex)
MsgBox (bytey)
End Sub
上のマクロを実行するとメッセージボックスに「 2 」、「 4 」というバイト数が表示されます。