[VBA] Len関数で文字数または変数のバイト数を取得します

 Len関数 は指定可能な引数が 2 種類あって、そのうち 1 種類のみを指定できます。

Len関数で文字数を取得します

 文字数を Long 型で返します。空白文字も1文字として処理されます。

Len(文字列)

 たとえば

Len("プログラミングは楽しいな")

と記述すると全文字数「12」が返されます。
 

文字を数えるマクロ

 ユーザーさんが InputBox に入力した文章の文字を数えるマクロです。

 '文字を数えるマクロ

 Sub CountLetter()

 Dim moji As String

 moji = InputBox("文章を入力してください")

 x = Len(moji)

 MsgBox x

 End Sub

 マクロを実行すると「文章を入力してください」というダイアログボックスが現れるので、好きな文章(日本語でもアルファベットでもかまいません)を入力すると、その文字数がメッセージボックスに表示されます。たとえば「こばとちゃんは美人だな」と入力すると「 11 」が返ります。
 

文字の総数をカウントします

 現在開いているシート(アクティブシート)の 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関数で変数のバイト数を取得します

 引数に変数を指定すると、その変数に必要なバイト数を 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 」というバイト数が表示されます。

スポンサードリンク
末尾大型広告
末尾大型広告

コメントをどうぞ

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)