戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
別シートの期間データを抽出して最終行下に合計を出したいです

    [194728] 別シートの期間データを抽出して最終行下に合計を出したいです-

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

    □投稿者/ C3PO -(2022/02/08(20:19))
    □U R L/
      任意の期間を地湧出して別シートにデータを転記して、最終行の下に合計を出したいですがコードを教えていただけないでしょうか。
      
      バイト社員の勤務記録から給料明細をつくるものです。
      ブックのシート構成は・・・
      
      各自の勤務を記録した個人別シートで複数あります。ここでは【山田太郎】です。
      この中から【印刷用】シートに名前と期間を入力するとデータを抽出して最終行の下に合計を出せないでしょうか。
      
      【印刷用】シートの対象期間は
      始まり・・・B1
      終わり・・・D1
      
      対象者名は・・・F5に入力されます。←この名前のシート名のデータを転記
      
      不躾ですがどなたか教えていただけないでしょうか。
      
      
      【山田太郎】シート
      
           A        B           C      D         E          F
      3   年月日  開始時間   終了時間	休憩	勤務時間   合計額/日   
      4   12/16     9:00	12:00		  3H	     3,000
      5   01/06     9:00	12:00		  3H	     3,000
      6   01/15     9:00	12:00		  3H	     3,000
      
      
      【印刷用】シート
      
           A          B          C          D          E        F
      5                           山田太郎
      
      7   年月日    開始時間   終了時間  休憩時間   勤務時間	日額
      8   6(木)	9:00	   12:00	         3H     3,000
      9  15(土)	9:00	   12:00	         3H     3,000
      10  合計                                         6H     6,000                                  
      
      



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




    [194729] Re[1]: 別シートの期間データを抽出して最終行下に合計を出したいです-

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

    □投稿者/ 半平太 -(2022/02/08(23:23))
    □U R L/
      Sub Shift()
          Dim WsPrn As Worksheet
          Dim BaseD, Dys, NM
          Dim i As Long, iOut As Long
          
          Set WsPrn = Worksheets("印刷用")
          
          Application.ScreenUpdating = False
          
          With WsPrn
              BaseD = .Range("B1:D1")
              NM = .Range("F5")
              .Range("A8").Resize(.UsedRange.Rows.Count, 6).ClearContents
          End With
          
          With Worksheets(NM)
              Dys = .Range("A4").Resize(.UsedRange.Rows.Count).Value
              iOut = 7
              
              For i = 1 To UBound(Dys)
                  If BaseD(1, 1) <= Dys(i, 1) And Dys(i, 1) <= BaseD(1, 3) Then
                      iOut = iOut + 1
                      WsPrn.Cells(iOut, 1).Resize(1, 6) = .Cells(i + 3, 1).Resize(1, 6).Value
                  End If
              Next i
              
              If iOut > 7 Then
                  WsPrn.Cells(iOut + 1, "A") = "合計"
                  WsPrn.Cells(iOut + 1, "F").FormulaR1C1 = "=SUM(R8C6:R[-1]C)"
              End If
          End With
          
          Application.ScreenUpdating = True
      End Sub


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

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




    [194739] Re[2]: 別シートの期間データを抽出して最終行下に合計を出したいです-

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

    □投稿者/ C3PO -(2022/02/10(23:04))
    □U R L/

      半平太様、ご回答ありがとうございました。完璧に動作するものを教えていただき本当に助かりました。
      こんな風にできるようになりたいですが、私には無理っぽいです・・・
      この度は本当にありがとうございました!



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

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

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


- Child Forum -
Edit:ゆう-G