Excelで同一セル内に入力されているデータを他のセルに分割したい
http://okwave.jp/qa4369634.html?ans_count_asc=20
で質問をして、何度かやりとりをさせていただいて
エクセルで同一セル内に、セル内改行で1~6列ほどのデータが入力されています。
縦にデータが入力されていて、それぞれのセルにセル内改行を含み、データが入力されています。
それぞれのセル内のデータを…
例えば、A1セル内に5行入力されていたら、A2セルから入力されている行数分(ここでいうと5行)挿入し、それぞれにデータを分割して入力させたい。
かつ、B・Cセルは増えたセルにそれぞれのデータをコピーしたいと言ったら、
Sub Macro1()
Dim idx, cnt As Integer
Dim wkStr() As String
Dim rng As Range
ActiveSheet.Copy after:=ActiveSheet
For idx = Range("A65536").End(xlUp).Row To 1 Step -1
If InStr(Cells(idx, "A"), Chr(10)) > 0 Then
wkStr = Split(Cells(idx, "A").Value, Chr(10))
Set rng = Cells(idx, "B")
For cnt = UBound(wkStr) To 0 Step -1
Cells(idx, "A").Value = wkStr(cnt)
Cells(idx, "B").Value = rng.Value
Cells(idx, "C").Value = rng.Offset(0, 1).Value
If cnt > 0 Then
Cells(idx, "A").Resize(1, 3).Insert shift:=xlDown
End If
Next cnt
End If
Next idx
End Sub
といったマクロのご回答をいただきました。
これを元に、
・データが入っているセルをA列→B列に変更
・A列のデータはセルが増えた分だけ増やしたい
・A1に対応するデータがC1・D1に入っていた場合、対応するデータは残したまま、B列が増えただけ、列を増やしたい
と変更したいのですが…。
すいませんが、宜しくお願い致します。
お礼
回答、ありがとうございました。もう少し情報を集めてみます。「B1」に入っている式は、単純に「=A1」のみです。