• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel マクロ 改行数を求めたい)

Excelマクロで改行数を求める方法

このQ&Aのポイント
  • Excelマクロを使用して、改行数を求める方法についてご教授ください。
  • セルを分割してコピーするExcelマクロを作成していますが、改行数が1~3行の場合にエラーが発生しています。改行数を正確に求める方法を教えてください。
  • Range関数およびInStr関数を使用して改行数を求める方法がうまくいきません。改行数を正確に求めるための手段を教えていただけますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

UBound(tmp)で配列の最大数がわかります。 改行数は、UBound(tmp)-1です。 この様な感じでいいかと思います。 tmp = Split(Range("C1"), Chr(10)) Sheets("Sheet2").Select Do Until UBound(tmp) < I Range("D9").Offset(I) = tmp(I) I = I + 1 Loop

cmd0
質問者

お礼

早速の回答ありがとうございます。 配列を数えるんですね。 大変勉強になりました! こちらで改行数は UBound(tmp)そのままでもとまりましたが、 これで何とかできそうです。 本当にありがとうございました!

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

質問が回りくどくてよくわからないが、またセル内改行のことらしいが、質問文にはっきり書いて質問してください。(コードを見るとそれらしい) その場合はSplitして、いくつに分かれたかはUbound(s)で判る。 また配列の要素が0から始まるのでUbound(s-1までの繰り返しになる。 参考 C列が元データ。D列から以右列に分離した例"aa dd" aa dd "ss fgh sss aaaaaaa" ss fgh sss aaaaaaa ーーー Sub test02() For i = 1 To 5 s = Split(Cells(i, "C"), Chr(10)) For j = 4 To 4 + UBound(s) 'D列から右列に Cells(i, j) = s(j - 4) 'D列からはじまることと配列が0から始まる結果こうする Next j Next i End Sub

cmd0
質問者

お礼

回答ありがとうございました。 質問文が回りくどくて申し訳ありません。 ”また”ということは既出でしたか。 調べ不足も申し訳ありません。

関連するQ&A