いつもお世話になっております。
支店別の人別で日々、時間外を管理しているのですが
45H以上の人だけを別表に抽出したいのです。
Book1のエクセルに支店別に複数シートを作成しています。(現在、15シートありますが今後増える可能性あり)
その中に添付画像のように人別で同じフォーマットで時間外が入力されています。
今回別表に抽出したい項目は下記4つです。
①シート名(支店名)
②氏名コード(例:A3の数字)
③氏名(例:A4)
④月間合計(I列:ここが45H以上の場合)
関数の数式orマクロどちらでも結構ですので
アドバイスいただけますと幸いです。
No.1ベストアンサー
- 回答日時:
こんにちは!
一例です。
「抽出先」シートはシート見出しの一番左側にあり、参照先シートはシート見出しの2番目以降にあるとします。
「抽出先」シートのD列表示形式はあらかじめ [h]:mm にしておいてください。
標準モジュールです。
Sub Sample1()
Dim i As Long, k As Long, lastRow As Long
Dim wS As Worksheet
With Worksheets(1)
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
If lastRow > 1 Then
Range(.Cells(2, "A"), .Cells(lastRow, "D")).ClearContents
End If
For k = 2 To Worksheets.Count
Set wS = Worksheets(k)
For i = 4 To wS.Cells(Rows.Count, "A").End(xlUp).Row Step 3
If wS.Cells(i, "I") >= TimeSerial(45, 0, 0) Then
With .Cells(Rows.Count, "A").End(xlUp).Offset(1)
.Value = wS.Name
.Offset(, 1) = wS.Cells(i - 1, "A")
.Offset(, 2) = wS.Cells(i, "A")
.Offset(, 3) = wS.Cells(i, "I")
End With
End If
Next i
Next k
End With
End Sub
こんな感じではどうでしょうか?
※ 気になる点が・・・
お示しの画像だとI列が合計列になっていますが、1か月分となるとI列ではないですよね?
なので、コード内の「I」の部分は実際の配置に合わせてください。m(_ _)m
いつもご教授頂きましてありがとうございます。
気になる点でご提示頂いた内容ですが、一か月、1ブックで管理しているため、それで大丈夫です。
明日、早速試してみます。
ありがとありがとうございます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) 別シートに毎回異なるデータをコピーする 7 2022/06/24 09:02
- Excel(エクセル) エクセルのマクロで複数条件に当てはまるものを全て抽出したいです 7 2022/05/21 08:51
- Excel(エクセル) エクセルの関数について 5 2023/01/26 15:26
- Excel(エクセル) Excelの関数でこんな処理ができますか 1 2023/02/08 13:46
- Visual Basic(VBA) AdvancedFilterについての質問 2 2022/07/02 22:58
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Excel(エクセル) Excel(エクセル)でフィルター抽出後、非表示の行を計算しないで、合計を算出する方法 【内容】 添 4 2023/01/30 17:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelのVlookup関数の制限について
-
エクセルの保護で、列の表示や...
-
文字の色も参照 VLOOKUP
-
VBAで繰り返しコピーしながら下...
-
オートフィルタ使用時にCOUNTIF...
-
【条件付き書式】countifsで複...
-
Excel VBA ピボットテーブルに...
-
【エクセル】1列のデータを交...
-
エクセル関数に詳しい方、教え...
-
エクセルで横並びの複数データ...
-
エクセルの列の限界は255列以上...
-
Excel の複数シートの列幅を同...
-
VBAで検索して、行をコピー&追...
-
エクセル マクロ 標準モジュー...
-
Excel セルに入っている日付を...
-
Excelでの並べ替えを全シートま...
-
エクセルで、book全体の検索&...
-
SUMPRODUCTにて別シートのデー...
-
Excelで全てのシートに一気に列...
-
シートをまたぐ条件付き書式に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelのVlookup関数の制限について
-
文字の色も参照 VLOOKUP
-
オートフィルタ使用時にCOUNTIF...
-
エクセルの保護で、列の表示や...
-
VBAで繰り返しコピーしながら下...
-
Excel の複数シートの列幅を同...
-
【VBA】シート名と見出しが一致...
-
エクセルで横並びの複数データ...
-
エクセルの列の限界は255列以上...
-
Excelでの並べ替えを全シートま...
-
【条件付き書式】countifsで複...
-
VLOOKアップ関数の結果の...
-
Excel VBA ピボットテーブルに...
-
エクセル マクロ 標準モジュー...
-
Excelで、ファイル名、シート名...
-
エクセルで、チェックボックス...
-
【VBA】複数のシートの指定した...
-
エクセルVBAで、ある文字を含ん...
-
スプレッドシートでindexとIMPO...
-
SUMPRODUCTにて別シートのデー...
おすすめ情報
抽出先のフォーマット画像を添付いたします。