『日誌(別シート)で項目と日付を抽出したい』(ぶんぶん丸)
・日誌を1日〜31日までシートごとに作成
・その日に行った業務内容を、別シート「集計シート」にまとめて抽出したい
例
1日業務内容:「事務所掃除」「倉庫内点検」
2日業務内容:「倉庫内点検」「室温管理」
3日業務内容:「事務所掃除」
↧
31日業務内容:「事務所掃除」「倉庫内点検」
という日誌を別シートで1日ごとに作成した内容を、集計シートに
指定する項目と行った日にちを抽出して表示させたい場合、どのように
行ったらよいかお教え願います。
< 使用 Excel:Excel2021、使用 OS:Windows11 >
前提条件として
各日誌シート名は「1」「2」...「31」
各シートの業務内容は A列(A1から下にリスト)に記載
集計先はシート名が「集計」
Sub test()
Dim ws集計 As Worksheet Dim ws日誌 As Worksheet Dim i As Integer Dim 最終行 As Long Dim 出力行 As Long Dim セル As Range
' 集計シートをセット Set ws集計 = ThisWorkbook.Sheets("集計") ws集計.Cells.ClearContents ws集計.Range("A1") = "日付" ws集計.Range("B1") = "業務内容" 出力行 = 2
' 1日〜31日シートを順に処理 For i = 1 To 31 On Error Resume Next Set ws日誌 = ThisWorkbook.Sheets(CStr(i)) On Error GoTo 0
If Not ws日誌 Is Nothing Then 最終行 = ws日誌.Cells(ws日誌.Rows.Count, "A").End(xlUp).Row
For Each セル In ws日誌.Range("A1:A" & 最終行) If セル.Value <> "" Then ws集計.Cells(出力行, 1).Value = i & "日" ws集計.Cells(出力行, 2).Value = セル.Value 出力行 = 出力行 + 1 End If Next セル End If
Set ws日誌 = Nothing Next i
MsgBox "集計が完了しました", vbInformation End Sub
(暇な人) 2025/05/04(日) 09:35:37
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.