Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 10全般 : Excel 2016)
複数ファイル・シートにある表形式データを1つのファイルにリスト形式で置き換える方法
投稿日時: 19/05/21 15:21:46
投稿者: さくさく

初めて投函します。よろしくお願いします。
下記表A形式のファイル(1ファイルに複数シートあり)が複数あります。これをリストBに置き換えるVBAプログラムを作成したいのですが、分かる方教えていただけないでしょうか?
 
≪表A≫ ファイル1            
 シート名:りんご            
    1月    2月    3月
aa    100    50    0
bb    200    0    0
cc    0    0    300
            
≪表A≫ ファイル2            
シート名:みかん            
    1月    2月    3月
aa    100    50    0
bb    200    0    0
cc    0    0    300
            
≪リストB≫ 新規ファイル            
1月    りんご    aa    100
2月    りんご    aa    50
3月    りんご    aa    0
1月    りんご    bb    200
2月    りんご    bb    0
3月    りんご    bb    0
1月    りんご    cc    0
2月    りんご    cc    0
3月    りんご    cc    300
1月    みかん    aa    100
2月    みかん    aa    50
3月    みかん    aa    0
1月    みかん    bb    200
2月    みかん    bb    0
3月    みかん    bb    0
1月    みかん    cc    0
2月    みかん    cc    0
3月    みかん    cc    300
 

回答
投稿日時: 19/05/21 18:12:26
投稿者: Suzu

手作業で貴方はどの様に判断し、実行しますか?
 
その流れだけでも自分で考えましょう。
 
この質問の仕方では、単なるコード作成依頼です。

回答
投稿日時: 19/05/25 13:26:18
投稿者: simple

まずひとつのシートで考えましょう。

  A列    B     C      D 
1       1月    2月   3月 
2 aa    100    50      0 
3 bb    200     0      0 
4 cc      0     0    300 

B2セルについて考えると、
>1月 りんご aa 100
は、
・同じ列の1行目のセルの値
・シート名
・同じ行のA列のセルの値
・そのセル(B2)の値
からなります。
 
これで一行はできます。
 
これをB2:D4セルの各セルについて、
For Each r In  range(B2:D4)
    rセルに関する上記の転記作業
    書込先の行をひとつ進める。
Next
などとすればよいでしょう。
 
まずは、上記をヒントに、ひとつのシートについて作成してみてください。
詰まったところが出てきたら、そこでまた質問してください。

回答
投稿日時: 19/05/25 16:03:13
投稿者: WinArrow
投稿者のウェブサイトに移動

掲示の表A形式のファイルのレイアウト?の問題について
1行目の「1月」「2月」・・・・
とありますが、年部分が表示されていません。
 
表Bに集約した場合、年がなくても大丈夫なんでしょうか?
並べ替えや合計などを目的とした集約でしたら、「年」がないと困ることになりませんか?
 

トピックに返信