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関連

    外部からOutlookのマクロを実行するマクロ

    外部からOutlookのマクロを実行するマクロ今回は外部からO…

  2. Office関連

    VBAからRegistration-Freeで.NETベースのDLLを呼び出す方法

    C#製のDLLをVBAから呼び出すのにいちいちRegAsmするのも面倒…

  3. Office関連

    VBAの力量をはかる3つの質問

    先日、Twitterではけた氏の面白いツイートがありました。3…

  4. Office関連

    Gmail APIを使ってメール送信するVBAマクロ

    「「Gmail API」β版公開、連動アプリ開発を支援」にもあるように…

  5. Office関連

    関数一覧(Excel 2010)

    関数の挿入ダイアログから抽出したExcel 2010の関数情報をリスト…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP