こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセル VBA 複数のセルを一つにまとめたい

ぜひお知恵をお貸しください。宜しくお願いします。

商品番号  デザイン  枝番
001     A型     -A
001     B型     -B
002
003     レッド    -RD
003     ブルー    -BL
003     イエロー   -YW
004

上記のようなリストがあります。
デザインと枝番を一つのセルにまとめて、以下の形にしなければならないのですが

001  デザイン:A型=001-A&デザイン:B型=001-B
002
003  デザイン:レッド=003-RD&デザイン:ブルー=003-BL&デザイン:イエロー=003-YW
004

VBAでできますでしょうか?

投稿日時 - 2014-07-14 18:57:45

QNo.8678179

すぐに回答ほしいです

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

こんな感じでしょうか。
商品番号は数字にしています。(書式が000)


Sub Matome()
  Dim Rw As Long
  Dim outRw As Long
  Dim strSet As String
  
  Rw = 1
  With Range("A1")
    While .Offset(Rw, 0) <> ""
      If .Offset(Rw, 1) <> "" Then
        strSet = .Offset(Rw, 0).Text & " " & _
            "デザイン:" & .Offset(Rw, 1) & "=" & _
            .Offset(Rw, 0).Text & .Offset(Rw, 2)
        While .Offset(Rw, 0) = .Offset(Rw + 1, 0)
          Rw = Rw + 1
          strSet = strSet & "&" & _
               "デザイン:" & .Offset(Rw, 1) & "=" & _
               .Offset(Rw, 0).Text & .Offset(Rw, 2)
        Wend
      Else
        strSet = .Offset(Rw, 0).Text
      End If
      
      outRw = outRw + 1
      .Offset(outRw, 4).NumberFormatLocal = "@"
      .Offset(outRw, 4) = strSet

      Rw = Rw + 1
    Wend
  End With
End Sub

投稿日時 - 2014-07-14 23:36:54

補足

早々の回答ありがとうございました。
上記を実行して問題なく解決できました!
本当に助かりました、どうもありがとうございます!!

投稿日時 - 2014-07-15 13:01:31

お礼

ありがとうございました!!

投稿日時 - 2014-07-15 13:03:42

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問