重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

こんなことは可能でしょうか?
同じ請求書内に含まれる情報をひとつの請求書列の横に並べて配置したいのですが。
関数を使って一括で変換できますか?

請求書 製品 価格  個数
aaa   AAA  200  10
aaa   BBB  400  10
aaa   CCC  300  5
bbb   AAA  100  50
bbb   BBB  500  10

↓↓↓↓↓↓↓↓↓

請求書 製品 価格  個数 製品 価格  個数 製品 価格  個数
aaa   AAA  200  10 BBB  400  10  CCC  300  5
bbb   AAA  100  50 BBB  500  10

どうぞよろしくお願いします。

A 回答 (1件)

過去に同様の質問が何度もありました。


例えば、http://okwave.jp/qa2287876.html
などです。

複雑な関数式は苦手なので、VBAで作ってみました。
使い方を含めて意味不明であれば無視してください。

Sub test()
 Dim LastCol_1 As Long
 Dim LastCol_r As Long
 Dim LastCol_Max As Long
 Dim LastRow_A As Long
 Dim r As Long

 LastCol_1 = Cells(1, Columns.Count).End(xlToLeft).Column
 LastRow_A = Cells(Rows.Count, "A").End(xlUp).Row

 Application.ScreenUpdating = False
 'データの並べ替え
 For r = LastRow_A To 3 Step -1
  LastCol_r = Cells(r, Columns.Count).End(xlToLeft).Column
  If Range("A" & r).Value = Range("A" & r - 1).Value Then
    Range("A" & r).Resize(, LastCol_r - 1).Offset(, 1).Copy _
     Destination:=Cells(r - 1, LastCol_1 + 1)
    Rows(r).Delete
  End If
 Next r
 
 '見出し行の編集
 With ActiveSheet.UsedRange
  LastCol_Max = .Cells(.Cells.Count).Column
 End With
 Range("A" & 1).Resize(, LastCol_1 - 1).Offset(, 1).Copy _
     Destination:=Cells(1, LastCol_1 + 1).Resize(, LastCol_Max - LastCol_1)
 Application.ScreenUpdating = True
 
End Sub
    • good
    • 0
この回答へのお礼

ka_na_deさん、どうもありがとうございました!
そのままコピペさせていただいたのですが、
まさに願っていた通りになりました。
6万近いボリュームを相手にしているので本当に助かりました。
本当に本当にありがとうございました。
(私ももう少し勉強してみようと思います)

お礼日時:2007/09/08 14:26

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