Excel VBA質問箱 IV

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

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


12063 / 13646 ツリー ←次へ | 前へ→

【12590】セル内容の比較 みぃこ 04/4/8(木) 12:13 質問
【12594】Re:セル内容の比較 Jaka 04/4/8(木) 17:08 発言
【12606】Re:セル内容の比較 みぃこ 04/4/9(金) 10:20 発言

【12590】セル内容の比較
質問  みぃこ E-MAIL  - 04/4/8(木) 12:13 -

引用なし
パスワード
   こんにちわ。またお知恵を拝借いたしたく、投稿いたしました。
また集計表を作っているのですが、各月の明細が完成した後、年間集計表に値を写そうとしています。品目が必ずしも毎回同じではないので、明細と年間集計表の品目を比較して、年間集計表にないものがあれば足していくようにしたいと思っています。

どちらのシートも品目はA列で、明細のE列を年間集計表の各月欄(B〜M列)に、H列の値を年間集計表のN列に累計として足していきたいと思っています。
取りあえず、こんなコードを書いてみました。

 x = Month(DateAdd("m", -1, Now))
 If x = 4 Then
    Sheets(Monthname(x)).Range("A4:A42").Copy (Sheets("年間").Range("A2:A40"))
    Sheets(Monthname(x)).Range("E4:E42").Copy (Sheets("年間").Range("B2:B40"))
    
 Else
 For i = 0 To 38
   Set B = Sheets("年間").Range("A2:A40").Find("")
   Set r1 = Sheets.Monthname(x).Columns("A").ColumnDifferences(Sheets("年間").Cells(2 + i, 1))
     r1.Select
     r1.Copy (B)
 Next i
 
 Sheets("年間").Range("A2:O46").Sort key1:=Sheets("年間").Range("A2:A46"), order1:=xlAscending
  
 j = IIf(x >= 4, x - 2, x + 10)
 For i = 0 To 45
   Sheets("年間").Cells(2 + i, j) = Application.WorksheetFunction.VLookup(Sheets("年間").Cells(2 + i, 1), Sheets(Monthname(x)).Range("A4:I42"), 5, False)
   Sheets("年間").Cells(2 + i, 17) = Application.WorksheetFunction.VLookup(Sheets("年間").Cells(2 + i, 1),Sheets(Montname(x).Range("A4:I42"), 8, False)
   Sheets("年間").Cells(2 + i, 14) = Sheets("年間").Cells(2 + i, 14).Value + Sheets("年間").Cells(2 + i, 17).Value
 Next i
 
 Sheets("年間").Range("Q2:Q45").ClearContents
 
End If


一応、年間集計表にない品目は追加されて出てきましたが、元々ある品目についてもダブって出てきてしまいます。どうしたら集計票にない品目だけが追加されるのでしょうか。
ぜひ、ご教授ください。よろしくお願いいたします。

【12594】Re:セル内容の比較
発言  Jaka  - 04/4/8(木) 17:08 -

引用なし
パスワード
   こんにちは。

こう言うのシートレイアウト&データも載せておいた方が良いと思います。
1、2行とか手抜きせず。

コード読んでシートレイアウトを考えて、データも自分で作ってくださいって言われても、ほとんどの回答者はそこまでしないと思います。

【12606】Re:セル内容の比較
発言  みぃこ E-MAIL  - 04/4/9(金) 10:20 -

引用なし
パスワード
   おはようございます。ご意見はごもっともです。
当然、もとのシートそのものがあった方が分かり易いと思ったのですが、

1.そのままシートをコピーして貼り付けようとしても、罫線が入らなかったこと(ここに表を書く術を知らないので)。
2.データは会社のもので、その後幹部会議にも使われるため、安易に外部に出してよいものかためらわれたこと。

この二点から文字だけになってしまいました。手抜きをしようとしたつもりはありませんが、結果的にそうなってしまったことに対しては謝罪させていただきます。
上司に相談したところ、やはりデータを出すことはNGでしたので、この件については諦めます。ありがとうございました。

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