ツール

算定基礎届の転記VBA

算定基礎届の転記VBA

組合健保など、エクセルに値を転記しなければならないときに使えるVBAコードです。

組合健保は算定基礎届で独自のエクセル様式用いているとこが多いです。
給与計算システムから算定のCSVを吐き出し、それを整えたあとに使えるVBAコードです。
ブック名や列アルファベットを適時入れ替えると使えるかなと思います。

Sub sample()

LastRow = Cells(Rows.Count, 1).End(xlUp).Row

'i = 届1枚に記載できる人数
i = 5

'n = 全体のループ回数(届枚数と同じ)
n = (LastRow \ i) + 1

    For j = 1 To n
        For m = 1 To i 'm = 届出1枚の人数分だけ繰り返す
            k = m + (i * (j - 1))  'k = 何人目(何行目)の情報か
            
            atama = (m - 1) * 21 + 86 '転記先のセル行
            shigatsu = (m - 1) * 21 + 92 '転記先のセル行その2
            gogatsu = (m - 1) * 21 + 97 '転記先のセル行その3
            rokugatsu = (m - 1) * 21 + 102 '転記先のセル行その4
                
            '整理番号
            Workbooks("転記先ブック名").Worksheets(j).Range("D" & atama).Value = Workbooks("転記元ブック名").Worksheets(1).Range("A" & 1 + k).Text
            '氏名
            Workbooks("転記先ブック名").Worksheets(j).Range("M" & atama).Value = Workbooks("転記元ブック名").Worksheets(1).Range("B" & 1 + k).Text
            '元号
            If Workbooks("転記元ブック名").Worksheets(1).Range("C" & 1 + k).Text = "7" Then
                Workbooks("転記先ブック名").Worksheets(j).Range("AE" & atama).Value = "平成"
            Else: Workbooks("転記先ブック名").Worksheets(j).Range("AE" & atama).Value = "昭和"
            End If
            
            '和暦年月日
            Workbooks("転記先ブック名").Worksheets(j).Range("AI" & atama).Value = Workbooks("転記元ブック名").Worksheets(1).Range("D" & 1 + k).Text
            Workbooks("転記先ブック名").Worksheets(j).Range("AP" & atama).Value = Workbooks("転記元ブック名").Worksheets(1).Range("E" & 1 + k).Text
            Workbooks("転記先ブック名").Worksheets(j).Range("BA" & atama).Value = Workbooks("転記元ブック名").Worksheets(1).Range("F" & 1 + k).Text
            '従前健保
            Workbooks("転記先ブック名").Worksheets(j).Range("BC" & atama).Value = Workbooks("転記元ブック名").Worksheets(1).Range("G" & 1 + k).Text
            '従前厚年
            Workbooks("転記先ブック名").Worksheets(j).Range("BK" & atama).Value = Workbooks("転記元ブック名").Worksheets(1).Range("H" & 1 + k).Text
            
            '4月の日数
            Workbooks("転記先ブック名").Worksheets(j).Range("H" & shigatsu).Value = Workbooks("転記元ブック名").Worksheets(1).Range("I" & 1 + k).Text
            '4月の金額
            Workbooks("転記先ブック名").Worksheets(j).Range("M" & shigatsu).Value = Workbooks("転記元ブック名").Worksheets(1).Range("L" & 1 + k).Text
            '総計
            Workbooks("転記先ブック名").Worksheets(j).Range("BC" & shigatsu).Value = Workbooks("転記元ブック名").Worksheets(1).Range("O" & 1 + k).Text
            
            '5月の日数