- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel マクロ 改行数を求めたい)
Excelマクロで改行数を求める方法
このQ&Aのポイント
- Excelマクロを使用して、改行数を求める方法についてご教授ください。
- セルを分割してコピーするExcelマクロを作成していますが、改行数が1~3行の場合にエラーが発生しています。改行数を正確に求める方法を教えてください。
- Range関数およびInStr関数を使用して改行数を求める方法がうまくいきません。改行数を正確に求めるための手段を教えていただけますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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
その他の回答 (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
質問者
お礼
回答ありがとうございました。 質問文が回りくどくて申し訳ありません。 ”また”ということは既出でしたか。 調べ不足も申し訳ありません。
お礼
早速の回答ありがとうございます。 配列を数えるんですね。 大変勉強になりました! こちらで改行数は UBound(tmp)そのままでもとまりましたが、 これで何とかできそうです。 本当にありがとうございました!