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

    右クリックから図形の配置 for Office 2013

    HPの掲示板に"右クリックから「配置」を実行できないか?"という質問が…

  2. Office関連

    Word 2013では簡単にウィンドウ ハンドルを取得できるようになりました。

    ※ この情報はOffice 2013 カスタマー プレビュー版を元にし…

  3. Office関連

    Excelを別インスタンスで起動する方法

    「Excel 別インスタンス 起動」といったキーワード検索でのアクセス…

  4. Office関連

    第4回Office 365勉強会に参加してきました。

    2013/3/2(土)に品川にあるMicrosoftオフィスでOffi…

  5. Office関連

    [Office]シンプルリボンのアンケートへの回答でAmazonギフト券が当たるチャンス

    「Office の新しい外観」にある通り、一部のOffice環境では、…

  6. Office関連

    カウントダウンタイマーを作成するPowerPointマクロ

    大分前に書いた記事について問い合わせがありましたので、マクロを作成しな…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP