Office関連

セル内の改行をカウントするExcelマクロ

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

コードとしては上記のような感じですね。
早速動きを確認してみると・・・

COUNTLF_01

ちゃんと目的の改行数が取得できているようです。
ただし、上記コードはあくまでも改行(LF)を数えるもので、文字列の折り返しには対応していませんので、その点は注意する必要があります。

Microsoft MVP 5 Years リングが届きました。前のページ

モヤさまのショウ君にいろいろ喋らせるVBAマクロ(1)次のページ

関連記事

  1. Office関連

    アクティブなスライドを取得するPowerPointマクロ

    PowerPointのマクロを触っていて、「ActiveSlide」の…

  2. Office関連

    文書内の単語を単語ごとにカウントするWordマクロ

    Wordsコレクションを使って文書内の単語を列挙し、各単語がそれぞれい…

  3. Office アドイン

    [Office用アプリ]Apps for Office サミット!で登壇しました。

    21日(土)に開催されたOffice 用アプリの勉強会「Apps fo…

  4. Office関連

    Excel 2013 新関数一覧

    「関数一覧(Excel 2010)」と「関数一覧(Excel 2013…

  5. Office関連

    テスト用の文字列を挿入するWordマクロ

    文字列操作を行うマクロを書いているとき、テスト用に「あいうえおかきくけ…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

Translate

Chinese (Simplified)Chinese (Traditional)EnglishFrenchGermanJapaneseKoreanRussianSpanish

最近の記事

アーカイブ

PAGE TOP