Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


31155 / 76738 ←次へ | 前へ→

【50838】Re:表から表を編集するコーディング方法について
発言  ichinose  - 07/8/17(金) 16:25 -

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

【50832】表から表を編集するコーディング方法について KTTK 07/8/17(金) 15:00 質問
【50837】Re:表から表を編集するコーディング方法に... ichi 07/8/17(金) 16:22 発言
【50840】Re:表から表を編集するコーディング方法に... KTTK 07/8/17(金) 18:57 お礼
【50838】Re:表から表を編集するコーディング方法に... ichinose 07/8/17(金) 16:25 発言
【50841】Re:表から表を編集するコーディング方法に... KTTK 07/8/17(金) 19:04 お礼

31155 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free