「Excel セルの内容 改行を数える VBA」といったキーワード検索でのアクセスがあったので、簡単な処理を考えてみました。
下記ページにもあるように、Excelはセル内の改行を文字コード LF (0A) として扱います。
・[XL2003] セル内の改行が「・」中点で表示される
http://support.microsoft.com/kb/822372/ja
そのため、セル内の改行を数える時はLF(vbLF)の数を調べれば良いわけです。
よく使われる方法としては、Split関数を使って対象となる文字列を分割し、UBound関数を使って配列の大きさを調べる方法があります。
Public Function COUNTLF(ByVal r As Excel.Range) As Long COUNTLF = UBound(Split(r.Value, vbLf)) End Function
コードとしては上記のような感じですね。
早速動きを確認してみると・・・
ちゃんと目的の改行数が取得できているようです。
ただし、上記コードはあくまでも改行(LF)を数えるもので、文字列の折り返しには対応していませんので、その点は注意する必要があります。
この記事へのコメントはありません。