Excel

セル内の改行をカウントする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 アドイン

    [Office用アプリ]第一回 Apps for Office 勉強会で登壇しました。

    19日(金)に第一回 Apps for Office 勉強会が東京で開…

  2. Office関連

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

    前回の記事でGmail APIを使ってメールを送信するVBAマクロを紹…

  3. Office関連

    Office クリップボードをマクロで操作する(UI Automation)

    以前MSAAを利用してOffice クリップボードを操作するマクロを書…

  4. アイコン一覧

    Office 365アイコン(imageMso)一覧(F)

    Office 365のデスクトップ版Officeアプリケーション(Wo…

  5. Office関連

    ユーザー設定フォームに基づいてメールを作成するOutlookマクロ

    Outlookには「ユーザー設定フォーム」(Custom Forms)…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP