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列が増えただけ、列を増やしたい
と変更したいのですが…。
すいませんが、宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
これでどうでしょう。
でも
>・A1に対応するデータがC1・D1に入っていた場合、対応するデータは残したまま、B列が増えただけ、列を増やしたい
はよく理解できまていません。とりあえず空白セルを挿入するようにしました
Sub Macro3()
Dim idx, cnt As Integer
Dim wkStr() As String
Dim wk
ActiveSheet.Copy after:=ActiveSheet
For idx = Range("B65536").End(xlUp).Row To 1 Step -1
If InStr(Cells(idx, "B"), Chr(10)) > 0 Then
wkStr = Split(Cells(idx, "B").Value, Chr(10))
wk = Cells(idx, "A").Value
For cnt = UBound(wkStr) To 0 Step -1
Cells(idx, "A").Value = wk
Cells(idx, "B").Value = wkStr(cnt)
If cnt > 0 Then
Cells(idx, "A").Resize(1, 2).Insert shift:=xlDown
End If
Next cnt
Cells(idx + 1, "C").Resize(UBound(wkStr), 2).Insert shift:=xlDown
End If
Next idx
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたい 6 2023/01/23 12:00
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) Sub 分けてソートして貼り付ける() Dim srcSheet As Worksheet Dim 6 2023/08/04 19:57
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) エラーコード1004 6 2022/06/09 14:12
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel分数の表示について
-
Excelについての質問です。 B2...
-
EXCELの散布図で日付が1900年に...
-
文字2桁、3桁交じりの文字列...
-
【EXCEL】画像の黄色部分の抽出...
-
マクロエクセルのブロック解除
-
絶対参照
-
Excelで表を作ったところに文字...
-
Excelピボットテーブルの1行目
-
エクセルのクイックアクセスツ...
-
DATE関数で現在の年齢を出した...
-
(マクロ)vlookupの元データを同...
-
PDFの請求明細をエクセルにしたい
-
エクセルのクイックアクセスツ...
-
REGEXREPLACE関数について、
-
職場の人から聞かれており、こ...
-
エクセルの空欄をつめて、次の...
-
ユーザー定義関数をアドイン登...
-
EXCELの質問です 119から足した...
-
エクセルの問題です。絶対値の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの文字間スペースを入...
-
Excel2010でふりがなが漢字にな...
-
VBAで横データを縦データに変換...
-
VBAについて教えて頂けませんか。
-
エクセルでアンケート結果の入...
-
エクセル シート内のハイパー...
-
UserFormのTextBoxからフリガナ...
-
エクセル 置換 方法
-
【マクロ】セルの塗りつぶし色...
-
Excelから、ACCESSへデータをエ...
-
エクセルについてです。 ランダ...
-
エクセル(アクセス)で全ての...
-
エクセルのセルの中身を分離
-
Excelで同一セル内に入力されて...
-
不明なコマンドです("FROM")。...
-
Access2010 「演算子がありませ...
-
【ExcelVBA】sheet作成時にマク...
-
エクセル/マクロ Exit Subが実...
-
オペランドが足りませんとコメ...
-
mfc42.dllファイルってなんです...
おすすめ情報