| 
    
     |  | ▼KTTK さん: こんにちは。
 
 >以下のような表1から表2への編集を考えています。
 >VBAでどのようにコーディングすれば良いのでしょうか?
 >色々と試行錯誤を重ねてみましたが、技をあまり知らないため
 >うまく出来ません。
 
 次回は、「このうまく出来ない」を具体的に説明してください。
 (こんなプログラムを作りましたが、結果は、このようになってしまいます云々)
 
 でも、入力データと出力データの説明は良いですね!!
 
 
 >
 表1 Sheet1
 
 A  B   C  D   E
 1    項目1 項目2 項目3 項目4
 2  A  7    5         3
 3  B  2   22    8    7
 4  C  33
 5  ・・・
 
 
 上記の表1がSheet1というシートのセルA1から記述されているとします。
 
 
 >
 >表2
 >  項目
 >A  7
 >A  5
 >A
 >A  3
 >B  2
 >B  22
 >・・・
 
 結果は、Sheet2というシートに出力します。
 
 Sheet2は、空のシートを用意して置いてください。
 
 
 >表1の項目は10個で固定です。
 >Aを10件作成後、Bを10件、Cを10件というように
 >編集をしたいと思っています。
 
 
 標準モジュールに
 '=============================================================
 Sub test()
 Dim g0 As Long
 Dim cl As Long
 Dim rng As Range
 With Worksheets("sheet1")
 Set rng = .Range("b2", .Cells(.Cells(.Rows.Count, "a").End(xlUp).Row, _
 .Cells(1, .Columns.Count).End(xlToLeft).Column))
 cl = rng.Columns.Count
 End With
 With Worksheets("sheet2")
 .Range("b1").Value = "項目"
 For g0 = 1 To rng.Rows.Count
 With .Range(.Cells((g0 - 1) * cl + 2, 1), .Cells(g0 * cl + 1, 1))
 .Value = rng.Rows(g0).Cells(0).Value
 .Offset(0, 1).Value = Application.Transpose(rng.Rows(g0))
 End With
 Next
 End With
 End Sub
 
 
 testを実行して試してみてください。
 尚、最初は、新規ブックにてサンプルデータを作成して確認することから
 はじめて下さい。
 
 
 |  |