Excel VBA質問箱 IV

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

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


10732 / 76734 ←次へ | 前へ→

【71547】Re:月毎で項目別に合計したい
発言  UO3  - 12/3/16(金) 10:08 -

引用なし
パスワード
   ▼ドカ さん:

こんにちは

Sheet2に、列ラベル、行ラベルを記述した形で動作確認OKとのこと、よかったです。
お分かりの通り、このコードは、Sheet1の項目のなかから分析したい項目のみを
Sheet2に書いて、それを集計するというものです。

一方、Sheet1にあるもの全てを集計したいというニーズもあるかもしれません。
様々な方法がありますが、一番手っ取り早いのは、アップしたコードの最初に
Sheet1の項目からSheet2の列ラベル、行ラベルを作り出す部分を追加しておくということでしょうね。

以下をマクロ記録すると、ほとんど、そのまま使えるコードが生成されます。
前トピで申し上げたように、お化粧直し、少なくともSelect/Selection のあたりのお化粧直しを
されたほうがいいと思いますけど、最悪(?)、★注で申し上げるところのみを変更すれば
ちゃんとしたマクロコードとして使うことはできます。

1.Sheet1を選択
2.1行目に行挿入
3.挿入された1行目のA1に、"A"、B1に"B" (文字列は何でもOKです)
4.Sheet2を選択
5.Sheet2のセルを全て選びDeleteキーでクリア
6.Sheet2のA1を選択
7.データーメニューのフィルター->フィルターオプションの設定
 (もし、2007以降ならデータタブのフィルターの詳細設定)
8.リスト範囲(L)に、Sheet1のA列を選択していれる
9.指定範囲(O)にチェックして、抽出範囲(T)に、Sheet2のA1を指定
10.重複するレコードは無視(R)にチェックしてOK。
11.フィルーターオプションを選ぶ(7.と同じ操作)
12.リスト範囲(L)に、Sheet1のB列を選択していれる
13.指定範囲(O)にチェックして、抽出範囲(T)に、Sheet2のB1を指定
14.重複するレコードは無視(R)にチェックしてOK。
15.Sheet2のA列を選択して昇順並び替え
16.Sheet2のB列を選択して昇順並び替え
17.Sheet2のB列の2行目(B2)からB列のデータの最後(B●)まで選択してCtrl/C  ★注
18.Sheet2のA1を選択して、形式を選択して貼付け、行列を入れ替えるにチェックして実行。
19、Sheet2のA1を選択して、セルの挿入、右方向にシフト

これで、Sheet2に列ラベル、行ラベルができあがります。
上記★注 と記述した17.のみ、B●のセルが固定値になっていますので、これを実際の
最終行番号に直す必要があります。B列の最終行番号の値は
Sheets("Sheet2").Range("B1").end(xldown).Row で求めることができますので、
その値を使ってください。
16 hits

【71528】月毎で項目別に合計したい ドカ 12/3/15(木) 13:08 質問
【71529】Re:月毎で項目別に合計したい UO3 12/3/15(木) 14:06 発言
【71536】Re:月毎で項目別に合計したい ドカ 12/3/15(木) 17:19 質問
【71538】Re:月毎で項目別に合計したい UO3 12/3/15(木) 19:37 発言
【71539】Re:月毎で項目別に合計したい UO3 12/3/15(木) 19:58 発言
【71540】Re:月毎で項目別に合計したい ドカ 12/3/15(木) 20:06 お礼
【71547】Re:月毎で項目別に合計したい UO3 12/3/16(金) 10:08 発言
【71551】Re:月毎で項目別に合計したい ドカ 12/3/16(金) 13:50 お礼
【71534】Re:月毎で項目別に合計したい UO3 12/3/15(木) 14:21 発言
【71535】Re:月毎で項目別に合計したい UO3 12/3/15(木) 14:26 発言

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