
1行のセルにまとまっている情報を複数行に分けたい。
例ですが、下記のような情報が1行の1セルに入っているとします。
[LOT:1||作成するお名前(姓):201号 タニグチ||作成するお名前(名):スミコ]
[LOT:1||作成するお名前(姓):202号 タニグチ||作成するお名前(名):ヨシオ]
[LOT:1||作成するお名前(姓):203号 タニグチ||作成するお名前(名):カズコ]
これを1セル×3行に分けたいと思っています。
これが5人分の情報であれば、5行になるように汎用性があるようにしたい。
且つ、添付画像のように、
セルの左側にある注文番号も、対応してコピーされて欲しいと思っています。
《経緯》
個人で名前入れの商材を販売しております。
最近インターネットで、お客さんの注文を貰うようになりました。
頂いた注文情報をCSVでダウンロードすると、注文者毎に行が分かれます。
1注文者が、商品を1つ購入した場合は問題ありませんが、
同一注文者が、複数注文された場合、1つの行のセルにまとまってしまう事が発覚しました。
商品の作成をする際に使用する印刷ソフトの仕様上、
どうしても1行にわけないといけません。
今、なんとか手動でやっていますが、
件数が多くなってきたので、ミスも出始めています。
なんとかExcelやマクロを使い、自動的に分けられるようにしたく思っております。

A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
確認させてください。
「下記のような情報が1行の1セルに入っている」と仰っているその3行の文字列を、
貴方はどうやって入力されましたか?
あるいは、
どうやって入力されたか知っていますか?
例えば、入力されたセルを A1 としたとき、
式 =SUBSTITUTE(A1,CHAR(10),"") を入力したセル A2 はどのように表示されるか教えてください。
No.3
- 回答日時:
こんばんは!
VBAでの一例です。
元データはSheet1のA・B列にあり、Sheet2に表示するとします。
1行目は項目行でデータは2行目以降にあるという前提です。
尚、お示しの画像のようにB列は
[LOT:1|| のようになっているのですよね。
すなわち最初の [LOT:○|| の部分と最後の ] も消去する必要がある!という解釈で・・・
標準モジュールにしてください。
Sub Sample1()
Dim i As Long, k As Long, cnt As Long
Dim wS As Worksheet
Dim myAry
Set wS = Worksheets("Sheet2")
wS.Range("A:B").ClearContents
With Worksheets("Sheet1")
wS.Range("A1:B1").Value = .Range("A1:B1").Value
cnt = 1
For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
myAry = Split(.Cells(i, "B"), vbLf)
For k = 0 To UBound(myAry)
cnt = cnt + 1
wS.Cells(cnt, "A") = .Cells(i, "A")
wS.Cells(cnt, "B") = myAry(k)
Next k
Next i
End With
myAry = Array("[*||", "]")
For k = 0 To UBound(myAry)
wS.Range("B:B").Replace what:=myAry(k), replacement:="", lookat:=xlPart
Next k
wS.Activate
MsgBox "完了"
End Sub
こんな感じではどうでしょうか?m(_ _)m
No.1
- 回答日時:
”改行コード” で「区切り位置」を使って分割することから始めてはいかがでしょう。
これなら手作業でも間違えることは無くなると思います。
「区切り位置」で ”その他” を選び、改行コードのCtrl+J(Ctrlキーを押しながら「J」キーを押す)を入力してみましょう。
数式やマクロを使うということは、その挙動を理解してる必要があります。
条件が変わったときに修正できないのであれば意味がありませんよね。
条件が変わったときにまた質問すれば良いと思っていらっしゃるなら、この手のマクロを作ってくれる業者を頼ることをお勧めします。(←マジで)
・・・
添付した画像は「区切り位置」での設定の例です。

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA 同じ名前のフォルダがあれば作成したブックを格納するマクロをつくりたい 2 2023/01/16 16:19
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Excel(エクセル) 【関数】【マクロ】データの転記の方法について 2 2023/07/26 15:22
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- その他(プログラミング・Web制作) パイソンでのプログラミングについて 3 2022/08/11 20:31
- Visual Basic(VBA) 特定の文字を含むシートだけマクロ処理をしたい 1 2023/05/22 01:43
- Excel(エクセル) マクロ/VBAについて教えてください。 10 2022/05/27 12:59
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同一セルに日時があるものを日...
-
EXCELでCSVファイル保存すると...
-
1年分のデータから特定の月分...
-
エクセルでの指定文字 カウン...
-
EXCELで年月日の表記から日付部...
-
エクセルVBAで、複数セルのデー...
-
トラックスケールの計量器から...
-
spreadsheetで別シートにある売...
-
エクセルに差し込み印刷したい...
-
エクセル
-
エクセルで文字が白くなる
-
エクセルの主軸と第2軸の0を合...
-
エクセルで文字を含む式に、カ...
-
エクセル条件付書式で指定の時...
-
エクセルで円グラフに引き出し...
-
【エクセル】区切り文字が含ま...
-
DATEDIFでマイナス表示をさせたい
-
エクセルで長い行を5行ごとに1...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同一セルに日時があるものを日...
-
EXCELでCSVファイル保存すると...
-
1年分のデータから特定の月分...
-
Excelで指定した条件と一致する...
-
エクセルVBAで、複数セルのデー...
-
OFFSET関数を使用した印刷範囲...
-
COUNTIFの反対の関数はあるので...
-
エクセルでセルを一括で右詰に...
-
ドロップダウンリストで空白の...
-
1つのセルにまとまっている情報...
-
Excelで連続データを行飛ばしで...
-
エクセルで数字、文字列混在の...
-
EXCELで年月日の表記から日付部...
-
Excelのシートごとの日付の追加
-
エクセル
-
【VBA】指定フォルダに格納中の...
-
webクエリのurlの変更方法
-
エクセルVBA オートフィルの最...
-
色なしセルの合計値の出し方に...
-
エクセル 特定の条件で特定の...
おすすめ情報