| すぐマク YNxv952 | Home | Search | Contents | Gallery | Introduction | Service | Support | What's New! |
| 同項目のデータを1行に並べるには? |
|
|
|||
|
エクセルらしい良い方法が、きっと、あるのではと思いますが、私はこの頃、ものすごく多忙で少々疲労気味です。 アイデアが浮かばないので、オーソドックスな手法のマクロになりますが、参考にしてください。
左図を見ながら、説明を読んでください。1) 表1と表2の内容を、別の表にまとめて連結する 2) 連結したデータを、同じ項目のデータを固めるために項目(A列)順にソートする 3) ソートできたら 1行目から順に項目の変わり目を判断して並べながら、別のシートに記入する マクロの詳細は、サンプルマクロ 「同項目を1行に並べる」を見てください。 サンプルマクロは、表1と表2が同じブックにある前提で書いています。 違うブックにある場合は、マクロの前半の下記の部分を改良してください。
Sheets("表1").Select '元データのシートを選ぶ(1枚目)
下端 = Range("A1").End(xlDown).Row '下端検出
Range(Cells(1, 1), Cells(下端, 2)).Copy '検出した範囲を選択してコピー
Sheets("連結").Select
Range("A1").PasteSpecial Paste:=xlAll 'すべて貼り付け
貼付行 = 下端 + 1 '次に貼り付けるための行
'
Sheets("表2").Select '元データのシートを選ぶ(2枚目)
下端 = Range("A1").End(xlDown).Row
Range(Cells(1, 1), Cells(下端, 2)).Copy
Sheets("連結").Select
Range(Cells(貼付行, 1), Cells(貼付行, 1)).PasteSpecial Paste:=xlAll
連結下端 = 貼付行 + 下端 '張付け終った最下行
その方法は、1) ブックを切り替えるマクロを追加するか、または、2) 違うブックから、このブックへ表をコピーするマクロを追加することになると思います。 |
| http://www.geocities.jp/happy_ngi/ | Home | Contents | Gallery | Introduction | Service | Support | What's New! |