Home » エクセルマクロ・Excel VBAの使い方 » VBA関数 » VBAで改行までの文字数を取得-InStr関数

VBAで改行までの文字数を取得-InStr関数

対象:Excel2010, Excel2013, Windows版Excel2016

「vba エクセル 改行までの文字数を調べる」
という検索キーワードでのアクセスに気付きました。

いつものように簡単なサンプルをご紹介しましょう。

[スポンサードリンク]

改行までの文字数を取得するサンプルマクロ

以下のSubプロシージャを実行すると、アクティブセルの、改行までの文字数がメッセージボックスに表示されます。改行が存在しなければ「アクティブセルに改行は存在しません。」メッセージが表示されます。
Sub アクティブセルの改行までの文字数を取得()
 Dim n As Long
 n = InStr(ActiveCell.Text, vbLf)
 If n = 0 Then
   MsgBox "アクティブセルに改行は存在しません。"
 Else
   MsgBox n - 1
 End If
End Sub

InStr関数で何文字目かを取得

VBAのInStr関数を使うと、ある文字列の中で、指定した文字が何文字目に存在するかを取得できます。

ActiveCellの文字列の中から、Excelのセル内改行vbLfが何文字目にあるかを、InStr関数で取得して、
  n = InStr(ActiveCell.Text, vbLf)

0だったときには存在しなかった旨のメッセージを表示し、
  If n = 0 Then
    MsgBox "アクティブセルに改行は存在しません。"

存在した場合は、改行までの文字数なので変数nから「- 1」した値をメッセージボックスに表示しています。
  Else
    MsgBox n - 1

ワークシート上でFIND関数を使ってセル内改行までの文字数を取得する場合と、考え方は同じです。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » VBA関数 » VBAで改行までの文字数を取得-InStr関数

「VBA関数」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.