戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
複数シートのリストから同じ日付のデータ行を抽出したいです。

    [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さん、ありがとうございます。
      気が付かず申し訳ございませんでした...

      ばっちりできました!
      拙い説明を読んでくださり形にしていただき助かりました。
      本当にありがとうございました。



このトピック内容の全ページ数 / [0]

このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 


- Child Forum -
Edit:ゆう-G