複数シートのリストから同じ日付のデータ行を抽出したいです。 | |
---|---|
[196126] 複数シートのリストから同じ日付のデータ行を抽出したいです。- ■親トピック/記事引用/メール受信=ON■ □投稿者/ C3PO -(2024/04/06(22:22)) □U R L/ 【田中】 A B C 2 年月日 人数 天気 3 23/01/03 1 雪 4 23/05/02 1 曇り 5 24/02/03 1 晴れ 6 24/03/05 1 晴れ 7 24/03/25 1 雨 8 24/04/01 1 雨 【佐藤】 A B C 2 年月日 人数 天気 3 24/01/04 2 晴れ 4 24/02/01 1 曇り 5 24/03/25 2 雨 【鈴木】 A B C 2 年月日 人数 天気 3 24/03/01 3 晴れ 4 24/03/26 4 晴れ 5 24/04/01 3 晴れ お世話になります。 このような同じ形式のリストが同一ブックのシートにあります。 これを、別シートの[日別一覧]シートで任意の日にちを指定して抽出したいです。 [日別一覧]シート A B C D 1 日抽出 24/03/25 2 3 氏名 年月日 人数 天気 4 田中 24/03/25 1 雨 5 佐藤 24/03/25 2 雨 C1に任意の年月日を入れるとB3以下に抽出結果を上のように出したいです。 どなたか教えていただけないでしょうか。 よろしくお願いいたします。 ++++++++++++++++++++ OS ⇒OTHER Version⇒OTHER ++++++++++++++++++++ |
[196128] Re[1]: 複数シートのリストから同じ日付のデータ行を抽出したいです。- ■記事引用/メール受信=OFF■ □投稿者/ kazuo -(2024/04/08(12:40)) □U R L/ >B3以下に抽出結果を上のように出したいです。 3行目には項目が記載されているものとし、4行目以降に出力します。 各シート日付は重複なしとしています。 Private Sub Worksheet_Change(ByVal Target As Range) Dim sht As Worksheet Dim s As String Dim m If Target.Address(0, 0) <> "C1" Then Exit Sub Application.EnableEvents = False s = Join(WorksheetFunction.Transpose(WorksheetFunction.Transpose(Me.Range("C3").Resize(, 3).Value))) Me.Range("B3", Me.Cells.SpecialCells(xlCellTypeLastCell)).Offset(1).ClearContents For Each sht In Worksheets If s = Join(WorksheetFunction.Transpose(WorksheetFunction.Transpose(sht.Range("A2:C2").Value))) Then m = Application.Match(Target, sht.Columns(1), 0) If IsNumeric(m) Then With Me.Cells(Me.Rows.Count, "B").End(xlUp).Offset(1) .Value = sht.Name .Offset(, 1).Resize(, 3).Value = sht.Cells(m, "A").Resize(, 3).Value End With End If End If Next Application.EnableEvents = True End Sub この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 ++++++++++++++++++++ OS ⇒Windows 11 Version⇒Excel 2021 ++++++++++++++++++++ |
[196142] Re[2]: 複数シートのリストから同じ日付のデータ行を抽出したいです。- ■ / 記事引用/メール受信=OFF■ □投稿者/ C3PO -(2024/04/10(18:17)) □U R L/ kazuoさん、ありがとうございます。 気が付かず申し訳ございませんでした... ばっちりできました! 拙い説明を読んでくださり形にしていただき助かりました。 本当にありがとうございました。 |
このトピックに書きこむ |
---|