文字列内の改行の数をかぞえるには?

解決


初心者  2006-09-02 06:10:46  No: 133021

ExcelのCELL内に下記の用に4行の入力があり。
AAA
BBB
CCC
DDD
この行数(4行)のカウントと、内容をString型に1行づつ取得したいのですが、どのようにすればできるでしょうか?


ぶぶ  2006-09-02 08:16:56  No: 133022

どこまでできましたか?どの箇所がわかりませんか?


初心者  2006-09-02 08:51:33  No: 133023

1個だけは改行を前文字列で判断して改行1個としてカウントできるのですが、その後の改行がどのようにして改行をカウントするのかがわかりません。

Dim iStringNum As Integer

' 改行までの文字数を取得
iStringNum = InStr(ActiveCell.Value, vbLf)
' 改行前までの文字列を取得
strFunction = Left$(ActiveCell.Value, InStr(ActiveCell.Value, vbLf) - 1)
' 取得した文字列をテキストボックスに入力
Txt03Func01.Text = strFunction


Blue  2006-09-02 09:31:40  No: 133024

>Excelの
>ActiveCell
Excel VBAとします。

Splitという便利な関数があります。(Excel2000以降なら使えるはず)

Dim s() As String
s = Split(ActiveCell.Value, vbLf)
MsgBox "行数は" & UBound(s) + 1


初心者  2006-09-02 09:40:45  No: 133025

ぶぶさん、Blueさんありがとうございます。

ExcelVBAです!
一応、文字列の数を取得して1文字づつ先頭から取得し改行があったらカウントし改行コードに該当した場合そこまでの文字列をMID$関数によって取得することが出来ました!!

アドバイスありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加