
こんにちは!
ご教授いただきたく質問させていただきます。
それぞれ個人のデータが入っている個人表(2行7列)が載っているシートが複数枚あります。その平均を同じシートの個人表の下に作成してある同じ形式の平均表(2行7列)と個人シート(複数枚)と同じつくりにしてある集計シートの平均表に入れたいのです。
今現在は平均表の左上のセル【個人シート(全員分)と集計シートを選択】して個人表の左上セルを串刺し、平均を出しオートフィルで平均表を作成しています。自分一人で集計する時は問題ないのですが他多数の人が行う際に関数入力間違いや参照間違いの発生が危惧されます。マクロでできればそのようなミスが起こらないと思いますが、マクロを作ることが出来ません。ご教授お願いします。

No.5ベストアンサー
- 回答日時:
以下のマクロを標準モジュールに登録してください。
集計表より右側のシートは、関知しません。
集計表の平均の表が、各個人の平均の表にコピーされます。
集計表の平均の表の書式設定を適切に行ってください。それらも含めて、各個人のシートに反映されます。
--------------------------------------------------------------
Option Explicit
Public Sub 平均()
Const tName As String = "集計表"
Dim row, col, i As Long
Dim ws, wt As Worksheet
Dim sheet_last, sheet_count As Long
Dim val As Variant
Set wt = Worksheets(tName)
sheet_last = 0
sheet_count = 0
For i = 2 To Worksheets.Count
If Worksheets(i).Name = tName Then
sheet_last = i - 1
Exit For
End If
sheet_count = sheet_count + 1
Next
If sheet_count = 0 Then
MsgBox ("シート不足")
Exit Sub
End If
'集計シートクリア
wt.Range("B5:I6").Value = ""
wt.Range("B8:I9").Value = ""
'全ての個人シートを加算
For i = 2 To sheet_last
Worksheets(i).Activate
For row = 5 To 6
For col = 2 To 9
wt.Cells(row, col) = wt.Cells(row, col) + Cells(row, col).Value
Next col
Next row
Next i
'平均を求める
For row = 5 To 6
For col = 2 To 9
wt.Cells(row + 3, col).Value = wt.Cells(row, col).Value / sheet_count
Next col
Next row
'全ての個人シートへ平均をコピー
For i = 2 To sheet_last
Worksheets(i).Activate
wt.Range("B8:I9").Copy Range("B8:I9")
Next i
MsgBox ("完了")
End Sub
-------------------------------------------
ご回答いただき、ありがとうございました。
自分が実施したいことが、すべて実施出来ました。
大変ありがとうございます。これで作業がミスなく迅速に実施出来ます。
本当に感謝の言葉しか出てきません。
ありがとうございました。
間違いなくベストアンサーです。

No.4
- 回答日時:
>1.集計用シートは個人シートの右になりますが、今現在その右にその集計シートのデータを参照する表(グラフ等も】のシートが2シートつけてありますが、そのシートがある事が問題ならば集計シートにまとめることは可能です。
では、集計用シートのシート名を提示ください。シート名が、提示されたXXXになった時点で、個人シートが終わったと判断します。その為には、XXXの具体的な値を提示してください。
>6.空欄はありません。すべて数値(時間も)です。
B5:I6の中に、時間も含まれているのですか。
マクロでは、どこが時間なのかわからないので、単純に数値を加算し、その平均をとりますがそれで良いですか。
早急なご回答ありがとうございます。
集計用シートのシート名は【集計表】にしています。時間については数値平均で全く問題ありません。
以上になります。
よろしくお願いいたします。

No.3
- 回答日時:
補足要求です。
1.集計用シートは、一番右側のシートであってますか。
2.個人用シートは、左から2番目のシートから開始し、集計用シートの手前で終了ですか。
3.集計用シートのB5:I6は、個人シートの合計値が設定されれば良いのですか。
4.集計用シートのB8:I9は、B5:I6の平均が設定されれば良いですか。
5.個人用シートのB8:I9は、集計用シートのB8:I9と同じ内容になりますか。
6.個人用シートのB5:I6は、空欄(データなし)もありますか。また、空欄があった場合は、それはデータ件数に含めませんが、それで良いですか。
例えば、個人シートが10枚あって、個人1のB8=10、個人2のB8=20、他の個人のB8=空欄の場合、
合計は30ですが、平均は30÷2=15になります。(30÷10=3ではありません)
おはようございます。回答していただきありがとうございます。
質問内容が分かりづらくてお手数おかけいたします。補足要求に答えさせていただきます。
1.集計用シートは個人シートの右になりますが、今現在その右にその集計シートのデータを参照する表(グラフ等も】のシートが2シートつけてありますが、そのシートがある事が問題ならば集計シートにまとめることは可能です。
2.その通りです。
3.集計用シートのB5:I6は特に使用していなかったので合計値でも問題ありません。
4.その通りです。
5.その通りです。
6.空欄はありません。すべて数値(時間も)です。
以上になります。
ご回答よろしくお願いいたします。
No.1
- 回答日時:
こんにちは
内容がよく理解できていない上に、直接の回答ではありませんが・・・
>マクロを作ることが出来ません。
>他多数の人が行う際に関数入力間違いや参照間違いの発生が危惧されます。
マクロでもできるでしょうけれど、メンテも何もできなくなるだけではないでしょうか?
同じ計算をさせるだけだのように思われますので、ひな形のブックなりシートを作成しておいてそれを使い回せば良いだけのように思えますが?
計算式を入れてある部分を上書きで壊されないようにしたければ、シートの保護などでそのセルを保護しておけば良いでしょう。
その時々で違う計算をさせたいと言う場合は、マクロでも対応できるのかどうか不明です。(規則性があれば可能だと思いますが)
いずれにしろ、ご質問の情報の内容だけでは、回答者にマクロを作成することはできませんね。(情報が不足しすぎ、というより、ほとんどありませんので)
早速回答していただき、ありがとうございます。
質問が解りづらく申し訳ありません。補足させていただきます。
一つのブックに一番前には名簿用シートがありその後ろから№1から№10等(個人データ)人数分のシートがあります。(その時によって人数が変わります。)また、その後ろに集計用のシートを付けてあります。集計用のシートは個人データ用と同じ内容(同じセルに同じ表が作ってあります。)のシートです。各シートのB列からI列迄8列の5行、6行の2行に個人の細かなデータ(数値)が入っています。各シートのB列からI列迄8列の8行、9行の2行に平均用の表が作ってあります。個人データの表のそれぞれの平均を平均用の表にまとめたいのです。(それぞれ個人シートのB5セルの平均を全てのシートのB8セルに)その個人データと平均データを参照してグラフ化するようになっています。個人個人が自分のデータと平均を比較できるようになっています。一番後ろの集計用シートはその平均データ参照して個人用とは違うグラフや表になるように作ってあります。毎回人数が違うので同じ式をひな形で作っておくことが出来ず、人数(シート枚数)が変わっても出来るマクロがあればと思い、質問させていただきました。前回名簿から名簿人数分名前を入力するマクロをご教授いただいたので、人数が変わってもマクロなら出来るのかと思い、お願いしました。よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 別シートに毎回異なるデータをコピーする 7 2022/06/24 09:02
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- Excel(エクセル) Excelで全クラスのランキング表を作成したい 4 2022/05/24 15:28
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- Excel(エクセル) エクセルで割り振りをする方法 7 2022/08/02 14:02
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) エクセルの数式について ブック内の別シートの値の含まれたセルの個数を集計したい 全シート一覧のシート 1 2022/07/21 19:28
- 統計学 確率統計の問題です。 3 2022/04/07 04:39
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
別シート参照のセルをシート毎...
-
エクセルで前シートを参照して...
-
エクセルでファイルを開いたと...
-
特定のセルだけ結果がおかしい...
-
前の(左隣の)シートを連続参...
-
エクセル 計算式も入っていない...
-
エクセルVBAでパスの¥マークに...
-
Excelで金銭出納帳。繰越残高を...
-
シートを追加・名前を次月に変...
-
特定のシートの削除を禁止した...
-
Excelのシートを、まとめて表示...
-
複数シートの特定の位置に連番...
-
エクセルで前のシートを連続参...
-
エクセル2007で重複しない行を...
-
エクセルでファイル保存時に複...
-
Excel 連番を入力する方法
-
Excel、同じフォルダ内のExcel...
-
スプレッドシートの関数で上か...
-
excelでシート毎の最終更新日を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のセルだけ結果がおかしい...
-
エクセルの複数シートの保護を...
-
前の(左隣の)シートを連続参...
-
別シート参照のセルをシート毎...
-
エクセルで前シートを参照して...
-
Excel、同じフォルダ内のExcel...
-
特定のシートの削除を禁止した...
-
EXCEL:同じセルへどんどん足し...
-
エクセル 計算式も入っていない...
-
Excelで金銭出納帳。繰越残高を...
-
複数シートの特定の位置に連番...
-
エクセルでファイルを開いたと...
-
シートの保護のあとセルの列、...
-
Accessのスプレッドシートエク...
-
VBAで条件によりフォントサイズ...
-
VBAでシートコピー後、シート名...
-
エクセルで前のシートを連続参...
-
エクセルVBAでパスの¥マークに...
-
EXCELで同一フォーマットのシー...
-
Excelで同じシートのコピーを一...
おすすめ情報