戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
社員番号をさがしてその行にデータをコピーしたい

    [195383] 社員番号をさがしてその行にデータをコピーしたい-

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

    □投稿者/ おおねこ -(2022/11/16(01:45))
    □U R L/
      Sub 保険料転記処理()
      
      
      
          Dim ws1 As Worksheet, ws2 As Worksheet
          Dim i As Long
          Dim v As Variant
          
          Application.ScreenUpdating = False
          
          
          Set ws1 = Worksheets("年末調整一覧”)
          Set ws2 = Worksheets("保険料控除")
      
          With ws1
                  
        For i = .Cells(.Rows.Count, "A").End(xlUp).Row To 2 Step -1
         With ws2
                  
                  v = Application.Match(.Cells(i, "A"), ws2.Cells(5, "BA"), 0)
                   If IsNumeric(v) Then
                  
                  ws1.Cells(v, "T").Value = .Cells(22, "F").Value
                  ws1.Cells(v, "U").Value = .Cells(24, "F").Value
                  ws1.Cells(v, "V").Value = .Cells(30, "F").Value
                  ws1.Cells(v, "W").Value = .Cells(44, "F").Value
                  ws1.Cells(v, "X").Value = .Cells(51, "F").Value
                  ws1.Cells(v, "AA").Value = .Cells(22, "BA").Value
                  ws1.Cells(v, "AB").Value = .Cells(26, "BA").Value
                  ws1.Cells(v, "H").Value = .Cells(36, "BA").Value
         
                  
              
          
                      
              
              End If
              End With
              Application.ScreenUpdating = True
              
              Next
            
              End With
              End Sub
      **************************************************************************************************
      VBA初心者です
      ご教授お願いできないでしょうか?
      
      上記のようなコードで年末調整の保険料の計算したものを一覧表に書き出したいのですが
      うまく動きません。
      
      ※ ワークシートws2の保険料控除の保険料が入っているセルは結合されていて計算式がはいっています。
      
      ※ ワークシートws2 は社員コードがあり、社員コードで紐づけてVLOOKUPで名前、フリガナ、住所などを入力
      詳細の保険料などを入力して計算させます。このシートは印刷するためのシートです。
      
      ※ その計算ででた保険控除金額を年末調整の一覧のワークシートWS1の該当する社員番号の新生命保険料、旧生  命保険料にコピー貼り付けしたいのですが
      
       
      Windows11 エクセル2019です
      よろしくお願いいたします。
      
      
      


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

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



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




    [195384] Re[1]: 社員番号をさがしてその行にデータをコピーしたい-

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

    □投稿者/ 半平太 -(2022/11/16(09:25))
    □U R L/
      具体的なサンプルがないので良く分からないですが、
      第二引数の範囲指定は正しいのでしょうか?
      >v = Application.Match(.Cells(i, "A"), ws2.Cells(5, "BA"), 0)
                          ~~~~~~~~~~~~~~~~~




    [195387] Re[2]: 社員番号をさがしてその行にデータをコピーしたい-

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

    □投稿者/ おおねこ -(2022/11/16(16:54))
    □U R L/

      半平太さま

      ありがとうございます。
      もう少し検証してみます。




    [195389] Re[3]: 社員番号をさがしてその行にデータをコピーしたい-

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

    □投稿者/ おおねこ -(2022/11/17(09:46))
    □U R L/
      Sub 保険料転記処理()
      
          
          Dim ws1 As Worksheet, ws2 As Worksheet
          Dim i As Long
          Dim v As Variant
          
          Application.ScreenUpdating = False
          
          
          Set ws1 = Worksheets("年末調整")
          Set ws2 = Worksheets("保険料控除")
      
          For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
        
         With ws1
                  
                  v = Application.Match(ws2.Cells(5, 53), Range(ws1.Cells(1, 1), ws1.Cells(i, 1)), 0)
                   If IsNumeric(v) Then
                  
                  ws1.Cells(v, 20).Value = ws2.Cells(22, 6).Value
                  ws1.Cells(v, 21).Value = ws2.Cells(24, 6).Value
                  ws1.Cells(v, 22).Value = ws2.Cells(30, 6).Value
                  ws1.Cells(v, 23).Value = ws2.Cells(44, 6).Value
                  ws1.Cells(v, 24).Value = ws2.Cells(51, 6).Value
                  ws1.Cells(v, 27).Value = ws2.Cells(22, 53).Value
                  ws1.Cells(v, 27).Value = ws2.Cells(26, 53).Value
                  ws1.Cells(v, 8).Value = ws2.Cells(36, 53).Value
         
                  
              
          
                      
              
              End If
              End With
              Application.ScreenUpdating = True
              
              Next
            
          
              End Sub
      
       
      コードの数式のところにカーソルを合わせ入っている値を参照していったところMatch関数の範囲指定がうまくいっていませんでした。
      
      半平太様ありがとうございました。
      
      
      


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

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



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

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

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


- Child Forum -
Edit:ゆう-G