質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

Q&A

1回答

699閲覧

複数のエクセルシートを一つに合算したい。

退会済みユーザー

退会済みユーザー

総合スコア0

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

0グッド

1クリップ

投稿2021/05/17 02:55

各部署より提出される残業時間のエクセルシートを一つに合算したい。

残業フォルダの中に、
残業_部署A.xlsx
残業_部署B.xlsx
残業_部署C.xlsx



複数のエクセルファイルがあります。(エクセルファイル数は変動)

エクセルファイルの中に、
1,2,3の3つのシートがあります。
内容は、すべて一緒です。

シートの内容は、15名ずつ残業時間が記入できるようになっています。
15名まではシート1へ
16名~30名まではシート2へ
31名~45名まではシート3へ
記入する為、部署ごとに仕様するシートの枚数は異なります。

残業フォルダの中に、
残業時間合算というエクセルを作成し、
各部署の残業エクセルシートを一つのエクセルへ合算したいです。
残業データが入っている箇所は、D31:AM45の範囲です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

1T2R3M4

2021/05/17 02:59

現時点のコードをmarkdownで追記してください。
t_obara

2021/05/17 04:24

もう少し、できないことを具体的に落とし込むと良いと思いますよ。やりたいことの仕様を提示することも必要かと思いますが、その仕様の中でどの部分の実装ができないのか、といった視点で質問されると良いのではないかと。
K_3578

2021/05/17 04:44

現状の内容だと質問者の仕事を代わりにやってくれという内容にしか取れないですね
guest

回答1

0

VBA

1Sub Sample() 2 3 Const folderPath = "C:\残業フォルダ\" 4 Const fileName = "残業_*.xlsx" 5 Const rngAddr = "D31:AM45" 6 7 Dim dic 'As Scripting.Dictionary 8 Dim fso 'As Scripting.FileSystemObject 9 10 Set dic = CreateObject("Scripting.Dictionary") 11 Set fso = CreateObject("Scripting.FileSystemObject") 12 13 With fso 14 Application.ScreenUpdating = False 15 Dim f 'As File 16 For Each f In fso.GetFolder(folderPath).Files 17 If f.Name Like fileName Then 18 With Workbooks.Open(f.Path) 19 Dim ws As Worksheet 20 For Each ws In .Worksheets 21 dic.Add f.Path & vbTab & ws.Name, ws.Range(rngAddr).Value 22 Next 23 .Close False 24 End With 25 End If 26 Next 27 Application.ScreenUpdating = True 28 End With 29 30 Set ws = Workbooks.Add.Worksheets(1) 31 Dim k, v, r, c, o 32 For Each k In dic 33 v = dic(k) 34 r = UBound(v, 1) 35 c = UBound(v, 2) 36 ws.Cells.Resize(r, c).Offset(o, 0).Value = v 37 ws.Cells.Resize(1, 2).Offset(o, c).Value = Split(k, vbTab) 38 o = o + r 39 Next 40 ws.UsedRange.EntireColumn.AutoFit 41End Sub 42

投稿2021/05/17 05:13

jinoji

総合スコア4592

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問