戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
同じ日付のセルを同じ行に表示したい

    [194550] 同じ日付のセルを同じ行に表示したい-

    ■親トピック/記事引用/メール受信=ON■

    □投稿者/ junjun -(2021/12/23(17:22))
    □U R L/
      皆さま、お忙しい中申し訳ございません。
      下記をご教示くださいませ。
      
      タイムカードの集計をしているのですが、
      お店の営業日と勤務日が一致していないデータがあります。
      同じ日付を同列にするのはどのようにしたらよいでしょうか。
      
      例)
           A         |        B          |       C            
      1   営業日     |    出勤時刻       |   退勤時刻       
      2  2021/10/1   |   2021/10/2 10:30  |  2021/10/2 22:00        
      3    2021/10/2   |   2021/10/3 10:30  |  2021/10/2 21:00
      4    2021/10/5   |   2021/10/6 11:00  |  2021/10/2 22:00
      
      
      下記のようにしたいと思っております。
      
           A         |        B          |       C            
      1   営業日     |    出勤時刻       |   退勤時刻       
      2  2021/10/1   |               | 
      3    2021/10/2   |   2021/10/2 10:30  |  2021/10/2 22:00
      4    2021/10/3   |   2021/10/3 10:30  |  2021/10/2 21:00
      5    2021/10/4   |            |
      6    2021/10/5   |          |   
      7    2021/10/6   |   2021/10/6 11:00  |  2021/10/2 22:00
      
      
      
      色々なネットの記事、本などを読んだのですが分からないでいます。
      ご教示いただけますと幸いです。
      
      なにとぞ、宜しくお願い申し上げます。
      



      ++++++++++++++++++++
      OS      ⇒OTHER
      Version⇒Excel 2007
      ++++++++++++++++++++




    [194551] Re[1]: 同じ日付のセルを同じ行に表示したい-

    記事引用/メール受信=OFF■

    □投稿者/ 半平太 -(2021/12/23(19:32))
    □U R L/
      営業日以外も出勤があったりする、ってことなんですね?
      
      <営業日 シート 結果図>
      行 ______A______ ________B________ ________C________ _D_ ____E____ _______F_______ _______G_______
       1   営業日       出勤時刻         退勤時刻                                    
       2     2021/10/1   2021/10/2 10:30   2021/10/2 22:00     2021/10/1                                
       3     2021/10/2   2021/10/3 10:30   2021/10/2 21:00     2021/10/2 2021/10/2 10:30 2021/10/2 22:00
       4     2021/10/5   2021/10/6 11:00   2021/10/2 22:00     2021/10/3 2021/10/3 10:30 2021/10/2 21:00
       5                                                       2021/10/4                                
       6                                                       2021/10/5                                
       7                                                       2021/10/6 2021/10/6 11:00 2021/10/2 22:00
      
      
      Sub TEST()
          Dim r As Range, cel As Range
          Dim StDay As Long, EdDay As Long
          Dim Result
          Dim dys As Long
          
          StDay = CLng(Application.Min(Range("A:C")))
          EdDay = CLng(Application.Max(Range("A:C")))
          dys = EdDay - StDay + 1
          
          With Range("E2") '取り敢えず、打ち出し先をE2として、日付だけ埋めてみる
              .Value = StDay
              .AutoFill Destination:=.Resize(dys), Type:=xlFillDays
              Result = .Resize(dys, 3).Value '日付の配列を格納
          End With
          
          Set r = Range("B2", Cells(Rows.Count, "B").End(xlUp))
          
          For Each cel In r
              If cel <> "" Then '念の為
                  Result(CLng(cel) - StDay + 1, 2) = cel
                  Result(CLng(cel) - StDay + 1, 3) = cel.Offset(, 1)
              End If
          Next
          
          Range("E2").Resize(dys, 3) = Result
      End Sub
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [194552] Re[2]: 同じ日付のセルを同じ行に表示したい-

    記事引用/メール受信=OFF■

    □投稿者/ ヘンリー -(2021/12/23(19:40))
    □U R L/

      別の掲示板を見てメモ帳に解説を書いて、
      いざ投稿しようと思ったらマルチポストに気づきました。

      時間の無駄をしてしまいました。
      という事で、マルチポストはやめた方が良いと思います。




    [194553] Re[2]: 同じ日付のセルを同じ行に表示したい-

    記事引用/メール受信=OFF■

    □投稿者/ junjun -(2021/12/24(11:50))
    □U R L/
      > 営業日以外も出勤があったりする、ってことなんですね?
      > 
      > <営業日 シート 結果図>
      > 行 ______A______ ________B________ ________C________ _D_ ____E____ _______F_______ _______G_______
      >  1   営業日       出勤時刻         退勤時刻                                    
      >  2     2021/10/1   2021/10/2 10:30   2021/10/2 22:00     2021/10/1                                
      >  3     2021/10/2   2021/10/3 10:30   2021/10/2 21:00     2021/10/2 2021/10/2 10:30 2021/10/2 22:00
      >  4     2021/10/5   2021/10/6 11:00   2021/10/2 22:00     2021/10/3 2021/10/3 10:30 2021/10/2 21:00
      >  5                                                       2021/10/4                                
      >  6                                                       2021/10/5                                
      >  7                                                       2021/10/6 2021/10/6 11:00 2021/10/2 22:00
      > 
      > 
      > Sub TEST()
      >     Dim r As Range, cel As Range
      >     Dim StDay As Long, EdDay As Long
      >     Dim Result
      >     Dim dys As Long
      >     
      >     StDay = CLng(Application.Min(Range("A:C")))
      >     EdDay = CLng(Application.Max(Range("A:C")))
      >     dys = EdDay - StDay + 1
      >     
      >     With Range("E2") '取り敢えず、打ち出し先をE2として、日付だけ埋めてみる
      >         .Value = StDay
      >         .AutoFill Destination:=.Resize(dys), Type:=xlFillDays
      >         Result = .Resize(dys, 3).Value '日付の配列を格納
      >     End With
      >     
      >     Set r = Range("B2", Cells(Rows.Count, "B").End(xlUp))
      >     
      >     For Each cel In r
      >         If cel <> "" Then '念の為
      >             Result(CLng(cel) - StDay + 1, 2) = cel
      >             Result(CLng(cel) - StDay + 1, 3) = cel.Offset(, 1)
      >         End If
      >     Next
      >     
      >     Range("E2").Resize(dys, 3) = Result
      > End Sub
      > 

      この記事にはVBAのコードが含まれています。

      <FONT COLOR='green'>緑の太文字→注釈
      <FONT COLOR='brown'>茶色の太文字→条件分岐
      <FONT COLOR='red'>赤の太文字→ループ
      <FONT COLOR='BLUE'>青の太文字→その他
      半平太様 お忙しい中ご対応誠にありがとうございます。 ほぼ希望の形になりました! ちなみにE列はシリアル値になっているようですが、 日付にするにはCVDateを使えばよろしいでしょうか。 当月の1日から月末まで表示出来ればと考えております。 何度も問い合わせして、申し訳ございません。


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [194554] Re[3]: 同じ日付のセルを同じ行に表示したい-

    記事引用/メール受信=OFF■

    □投稿者/ junjun -(2021/12/24(11:52))
    □U R L/

      > 別の掲示板を見てメモ帳に解説を書いて、
      > いざ投稿しようと思ったらマルチポストに気づきました。
      >
      > 時間の無駄をしてしまいました。
      > という事で、マルチポストはやめた方が良いと思います。

      ヘンリー様

      ご配慮が足らずに誠に申し訳ございませんでした。
      以後注意致します。
      大変失礼いたしました。




    [194557] Re[4]: 同じ日付のセルを同じ行に表示したい-

    記事引用/メール受信=OFF■

    □投稿者/ 半平太 -(2021/12/24(12:33))
    □U R L/
      Sub TEST()
          Dim r As Range, cel As Range
          Dim StDay As Date, EdDay As Date
          Dim Result
          Dim dys As Long
          
          StDay = Application.EoMonth(Application.Max(Columns("A")), -1) + 1
          dys = Day(Application.EoMonth(StDay, 0))
          EdDay = StDay + dys - 1
          
          With Range("E2") '取り敢えず、打ち出し先をE2として、日付だけ埋めてみる
              .Value = StDay
              .AutoFill Destination:=Range("E2").Resize(dys), Type:=xlFillDays
              Result = .Resize(dys, 3).Value '日付の配列を格納
          End With
          
          Set r = Range("B2", Cells(Rows.Count, "B").End(xlUp))
          
          For Each cel In r
              If cel <> "" Then '念の為
                  Result(CLng(cel) - StDay + 1, 2) = cel
                  Result(CLng(cel) - StDay + 1, 3) = cel.Offset(, 1)
              End If
          Next
          
          Range("E2").Resize(dys, 3) = Result
      End Sub


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [194561] Re[5]: 同じ日付のセルを同じ行に表示したい-

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ junjun -(2021/12/24(15:16))
    □U R L/
      > Sub TEST()
      >     Dim r As Range, cel As Range
      >     Dim StDay As Date, EdDay As Date
      >     Dim Result
      >     Dim dys As Long
      >     
      >     StDay = Application.EoMonth(Application.Max(Columns("A")), -1) + 1
      >     dys = Day(Application.EoMonth(StDay, 0))
      >     EdDay = StDay + dys - 1
      >     
      >     With Range("E2") '取り敢えず、打ち出し先をE2として、日付だけ埋めてみる
      >         .Value = StDay
      >         .AutoFill Destination:=Range("E2").Resize(dys), Type:=xlFillDays
      >         Result = .Resize(dys, 3).Value '日付の配列を格納
      >     End With
      >     
      >     Set r = Range("B2", Cells(Rows.Count, "B").End(xlUp))
      >     
      >     For Each cel In r
      >         If cel <> "" Then '念の為
      >             Result(CLng(cel) - StDay + 1, 2) = cel
      >             Result(CLng(cel) - StDay + 1, 3) = cel.Offset(, 1)
      >         End If
      >     Next
      >     
      >     Range("E2").Resize(dys, 3) = Result
      > End Sub

      この記事にはVBAのコードが含まれています。

      <FONT COLOR='green'>緑の太文字→注釈
      <FONT COLOR='brown'>茶色の太文字→条件分岐
      <FONT COLOR='red'>赤の太文字→ループ
      <FONT COLOR='BLUE'>青の太文字→その他
      半平太様 希望通りの形になりました! お忙しい中本当にありがとうございました。 助かりました。 自分でも解決できるように勉強を続けたいと思います。 誠にありがとうございました。


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [194594] Re[6]: 同じ日付のセルを同じ行に表示したい-

    記事引用/メール受信=ON■

    □投稿者/ junjun -(2022/01/11(17:04))
    □U R L/
      半平太様
      
      いつもお世話になります!
      先日はコードをご教示下さり誠にありがとうございました。
      頂いた内容を元に検証しているのですが、
      下記の部分の意味が分からないでいます。
      
      お忙しい中誠に申し訳ございませんが、
      ご教示いただけますでしょうか。
      
      *抜粋
      For Each cel In r
      >         If cel <> "" Then '念の為
      >             Result(CLng(cel) - StDay + 1, 2) = cel
      >             Result(CLng(cel) - StDay + 1, 3) = cel.Offset(, 1)
      >         End If
      >     Next
      *
      *抜粋ここまで
      
      上記3行目、4行目の+1,2と+1,3が何を意味するか分からないでいます。
      Offset(,1)はF列→E列へ参照範囲を移動しているのが分かったのですが、
      3行目、4行目が分らず・・・です。
      (CLngは丸めと認識しております)
      
      ご教示いただければ幸いでございます。
      なにとぞ、宜しくお願い申し上げます。
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他



      ++++++++++++++++++++
      OS      ⇒OTHER
      Version⇒OTHER
      ++++++++++++++++++++



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

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

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


- Child Forum -
Edit:ゆう-G