対象: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
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関数を使ってセル内改行までの文字数を取得する場合と、考え方は同じです。
[スポンサードリンク]
- Newer:〇〇以上◎◎以下の条件付き書式-AND関数
- Older:〇〇以上◎◎以下の条件付き書式-指定の範囲内
Home » エクセルマクロ・Excel VBAの使い方 » VBA関数 » VBAで改行までの文字数を取得-InStr関数