• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル 行数指定し一つのセルに改行込で入れる)

エクセルのマクロで行数指定し一つのセルに改行込で入れる方法

このQ&Aのポイント
  • エクセルのマクロを使用して、指定した行数にあるセルの文字列を改行込みで別のセルに入れる方法を教えてください。
  • 具体的なやりたいことは、A列に入力された不定期な文字列の行数を読み取り、同じ行数のセルをB列で指定し、別のシートのA1から順に改行込みで入れることです。
  • マクロ初心者なので、具体的なマクロの記述例や代わりに使用できる関数のレファレンスを教えてください。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

マクロというよりも関数で対応するのが計算速度も速いような気がします。 次のようにします。 シート1ではデータが2行目から下方に入力されているとします。 作業列をCおよびD列に作ります。 C2セルには次の式を入力して下方にドラッグコピーします。 =IF(A2<>"",ROUNDDOWN(MAX(C$1:C1),-3)+1000,IF(OR(AND(B2<>"",A3<>""),AND(B2<>"",B3="")),MAX(C$1:C1)+1,"")) D2セルには次の式を入力して下方にドラッグコピーします。 =IF(AND(A2<>"",B2<>""),B2,IF(B2<>"",D1&","&B2,"")) そこでお求めの表ですが例えばシート2のA2セルには次の式を入力して下方にドラッグコピーします。 =IF(ROW(A1)>INT(MAX(Sheet1!C:C)/1000),"",SUBSTITUTE(INDEX(Sheet1!D:D,MATCH(ROW(A1)*1000+1,Sheet1!C:C,0)),",",CHAR(10))) 最後にA列を選択して右クリックし、「セルの書式設定」から「配置」のタブで「折り返して全体を表示する」にチェックをしてOKすればよいでしょう。

sigesigeo1919
質問者

お礼

早速回答頂きありがとうございます!! 考えていたモノが完璧に再現出来ました! 中身は冒頭の IF(A2<>““ から何をやっているかわからないので、 もう少し勉強してみます。 本当にありがとうございました!

関連するQ&A

専門家に質問してみよう