|
▼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を実行して試してみてください。
尚、最初は、新規ブックにてサンプルデータを作成して確認することから
はじめて下さい。
|
|