マンガでよめる痔のこと・薬のこと

1行のセルにまとまっている情報を複数行に分けたい。

例ですが、下記のような情報が1行の1セルに入っているとします。

[LOT:1||作成するお名前(姓):201号 タニグチ||作成するお名前(名):スミコ]
[LOT:1||作成するお名前(姓):202号 タニグチ||作成するお名前(名):ヨシオ]
[LOT:1||作成するお名前(姓):203号 タニグチ||作成するお名前(名):カズコ]

これを1セル×3行に分けたいと思っています。
これが5人分の情報であれば、5行になるように汎用性があるようにしたい。

且つ、添付画像のように、
セルの左側にある注文番号も、対応してコピーされて欲しいと思っています。


《経緯》

個人で名前入れの商材を販売しております。
最近インターネットで、お客さんの注文を貰うようになりました。
頂いた注文情報をCSVでダウンロードすると、注文者毎に行が分かれます。
1注文者が、商品を1つ購入した場合は問題ありませんが、
同一注文者が、複数注文された場合、1つの行のセルにまとまってしまう事が発覚しました。

商品の作成をする際に使用する印刷ソフトの仕様上、
どうしても1行にわけないといけません。

今、なんとか手動でやっていますが、
件数が多くなってきたので、ミスも出始めています。
なんとかExcelやマクロを使い、自動的に分けられるようにしたく思っております。

「1つのセルにまとまっている情報を複数行に」の質問画像

A 回答 (4件)

確認させてください。



「下記のような情報が1行の1セルに入っている」と仰っているその3行の文字列を、
貴方はどうやって入力されましたか?
あるいは、
どうやって入力されたか知っていますか?

例えば、入力されたセルを A1 としたとき、
式 =SUBSTITUTE(A1,CHAR(10),"") を入力したセル A2 はどのように表示されるか教えてください。
    • good
    • 0

こんばんは!



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
    • good
    • 0

私も区切り位置をオススメします

    • good
    • 0

”改行コード” で「区切り位置」を使って分割することから始めてはいかがでしょう。


これなら手作業でも間違えることは無くなると思います。

「区切り位置」で ”その他” を選び、改行コードのCtrl+J(Ctrlキーを押しながら「J」キーを押す)を入力してみましょう。

数式やマクロを使うということは、その挙動を理解してる必要があります。
条件が変わったときに修正できないのであれば意味がありませんよね。
条件が変わったときにまた質問すれば良いと思っていらっしゃるなら、この手のマクロを作ってくれる業者を頼ることをお勧めします。(←マジで)

・・・
添付した画像は「区切り位置」での設定の例です。
「1つのセルにまとまっている情報を複数行に」の回答画像1
    • good
    • 3

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング