Excel VBA質問箱 IV

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

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


3158 / 76735 ←次へ | 前へ→

【79214】Re:ファイルをまたいだ数値の取得および合算
お礼  まぐろ  - 17/6/16(金) 17:45 -

引用なし
パスワード
   γさま
大変お返事遅れてすいません。
頂いた式やコメントを参考に取り組み中です。
一度締め切ります。
ひょっとしたらまたご質問させて頂くかもしれませんが。

改めて、具体的な式まで書いて頂きありがとうございました。


▼γ さん:
>・各部門のシートはフォーマット(特に数値が入っているセルの位置)が統一されているか。
> 部門によっては、製品と製品の間に空行が入っているといったことがないか。
>・製品の数は各部門で違うとき、
> 単純に、最後の行までを対象に、製品の合計をとればよいのか、不明。
>などの疑問点があります。
>
>しかし、現時点で示されたものを前提にコメントしておきます。
>
>> Dim 変数 As Range
>> SET 変数 = RANGE を使うのかなと思いましたが、
>> 別ファイルからの取得なので、
>> SET 変数 = RANGE('[作業内容.XLS]部門A!B2)
>というところですが、
>Workbooks("aaa").Worksheets("BBB").Range("...") という形式のほうが
>よいでしょう。
>
>たとえば、こんな書き方ができるかもしれません。参考例です。
>Sub test()
>  Dim wbS As Workbook
>  Dim wbD As Workbook
>  Dim wsS As Worksheet
>  Dim wsD As Worksheet
>  Dim sh As Variant
>  Dim k As Long
>    
>  Set wbD = Workbooks("単月業績.xls")   'D: Destination(転記先)
>  Set wsD = wbD.Worksheets("6月")
>
>  Set wbS = Workbooks("作業内容.xls")   'S: Source(転記元)
>  For Each sh In Array("部門A", "部門B")
>    Set wsS = wbS.Worksheets(sh)
>    wsD.Cells(2 + k, "D").Value = getSum(wsS.Cells(2, 4))
>    wsD.Cells(2 + k, "E").Value = getSum(wsS.Cells(3, 4))
>    wsD.Cells(3 + k, "D").Value = getSum(wsS.Cells(4, 4))
>    wsD.Cells(3 + k, "E").Value = getSum(wsS.Cells(5, 4))
>    wsD.Cells(4 + k, "D").Value = getSum(wsS.Cells(6, 4))
>    wsD.Cells(4 + k, "E").Value = getSum(wsS.Cells(7, 4))
>    k = k + 4
>  Next
>Ens Sub
>
>合計する部分は、例えば関数にしておいて
>Function getSum(r As Range) As Long
>  getSum = r.Value + r.Offset(6).Value + r.Offset(12).Value
>End Function
>などとします。最大3つの製品に関する数値があるという前提です。
>
>上記コードはとっかかりに過ぎません。
>月に応じて、書込先の列を変えるとか、いろいろ改善点がありえます。
>
>なお、今後、実はこういう前提になっていました、
>という変更事項がありましてもコードを修正する積もりはありません。
>予め、お断りしておきます。
>
>上記は単なるヒントですから、
>それを参考にしてあなたがトライしていただきたいと思います。
>
>なお、今後、予算と実績の比較とか色々な分析をされると思うので、
>現在のフォーマットが適当なものかも不明です。
>ピボットテーブルなどの利用できる形式の書式のほうがよいかもしれませんね。
>
>それでは頑張ってください。
1 hits

【79146】ファイルをまたいだ数値の取得および合算 まぐろ 17/5/24(水) 8:53 質問[未読]
【79147】Re:ファイルをまたいだ数値の取得および合算 カリーニン 17/5/24(水) 10:35 発言[未読]
【79159】Re:ファイルをまたいだ数値の取得および合算 まぐろ 17/5/26(金) 15:03 回答[未読]
【79148】Re:ファイルをまたいだ数値の取得および合算 γ 17/5/25(木) 7:19 発言[未読]
【79160】Re:ファイルをまたいだ数値の取得および合算 まぐろ 17/5/26(金) 15:06 回答[未読]
【79162】Re:ファイルをまたいだ数値の取得および合算 γ 17/5/27(土) 7:31 発言[未読]
【79214】Re:ファイルをまたいだ数値の取得および合算 まぐろ 17/6/16(金) 17:45 お礼[未読]

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