【人事担当者向け】Excelを活用!給与通知をPDFにする方法と手順

人事業務

給与明細の作成や配布は、人事業務の重要な一環ですが、手作業で行うと多くの時間と手間がかかることは事実です。
ここで、Excel VBAマクロの力を借りて、給与通知を簡単にPDFに変換する方法をご紹介します。特に、MacとWindowsそれぞれの環境に合わせて詳しく解説しているので、初心者の方でも安心してお試しいただけます。

【なぜExcel VBAマクロを使うのか?】

給与通知をPDFに変換する作業は、手作業で毎回行うと手間がかかります。また、ミスが起こる可能性もあり、正確性を保つためには細心の注意が必要です。

ここでExcel VBAマクロが大いに役立ちます。一度設定すれば、給与明細の情報を自動的に取り込み、PDFファイルに変換してくれるため、手作業の手間やミスを大幅に軽減できるのです。

【手間を省くExcel VBAマクロの使い方】

給与通知をPDFに変換する手順は、MacとWindowsそれぞれの環境に合わせて以下のように行います。

Mac版の手順:

  1. Excelファイルを開きます。
  2. 上部メニューから「ツール」→「マクロ」→「Visual Basicエディタ」を選択してエディタを開きます。
  3. エディタ内で新しいモジュールを作成し、用意されたVBAマクロコードをコピーします。
  4. コード内に、Mac向けのPDF出力に関するコードを追記します。
  5. エディタ上部の再生ボタンをクリックするか、コードにカーソルを合わせてF5キーを押すと、マクロが実行されます。
Sub pdf_output()
    '変数宣言
    Dim target_Sheet As Worksheet
    Dim format_Sheet As Worksheet
    Dim lastLine As Long
    Dim targetLine As Long
    Dim outputPath As String
    
    '処理実行用変数設定
    Set target_Sheet = ThisWorkbook.Sheets("給与")
    Set format_Sheet = ThisWorkbook.Sheets("フォーマット")
    lastLine = target_Sheet.Cells(target_Sheet.Rows.Count, "A").End(xlUp).Row  '給与シートの最終行を取得
    targetLine = 2                                                      'カウント用初期値設定
    '出力先情報変数設定
    outputPath = ThisWorkbook.Path & "/出力先/"
    
    
    '最終行までの各行の情報を処理
    Do While targetLine <= lastLine
        '取込対象シートの情報をフォーマットに適用
        format_Sheet.Range("B4").Value = target_Sheet.Range("B" & targetLine).Value '対象者名
        format_Sheet.Range("P21").Value = target_Sheet.Range("C" & targetLine).Value '等級
        format_Sheet.Range("P23").Value = target_Sheet.Range("D" & targetLine).Value '基本給
        format_Sheet.Range("P25").Value = target_Sheet.Range("E" & targetLine).Value 'みなし時間外手当
        format_Sheet.Range("P27").Value = target_Sheet.Range("F" & targetLine).Value '月額合計

        '行毎のPDFファイルを対象フォルダに出力
        format_Sheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=outputPath & target_Sheet.Range("A" & targetLine).Value & ".pdf"
        
        '対象行を1行進める
        targetLine = targetLine + 1
    Loop

    'フォーマットシート初期化
    format_Sheet.Range("B4").Value = "対象者名"
    format_Sheet.Range("P21").Value = "XX"
    format_Sheet.Range("P23").Value = "XX"
    format_Sheet.Range("P25").Value = "XX"
    format_Sheet.Range("P27").Value = "XX"
End Sub

Windows版の手順:

  1. Excelファイルを開きます。
  2. 上部メニューから「開発」→「Visual Basic」を選択してエディタを開きます。
  3. エディタ内で新しいモジュールを作成し、用意されたVBAマクロコードをコピーします。
  4. コード内に、Windows向けのPDF出力に関するコードを追記します。
  5. モジュール内のコードにカーソルを合わせてF5キーを押すと、マクロが実行されます。
Sub pdf_output()
    '変数宣言
    Dim target_Sheet As Worksheet
    Dim format_Sheet As Worksheet
    Dim lastLine As Long
    Dim targetLine As Long
    Dim outputPath As String
    
    '処理実行用変数設定
    Set target_Sheet = Worksheets("給与")
    Set format_Sheet = Worksheets("フォーマット")
    lastLine = Worksheets("給与").Cells(Rows.Count, "A").End(xlUp).Row  '給与シートの最終行を取得
    targetLine = 2                                                      'カウント用初期値設定
    '出力先情報変数設定
    outputPath = ThisWorkbook.Path & "\出力先\"
    
    
    '最終行までの各行の情報を処理
    Do While targetLine <= lastLine
        '取込対象シートの情報をフォーマットに適用
        format_Sheet.Range("B4").Value = target_Sheet.Range("B" & targetLine).Value '対象者名
        format_Sheet.Range("P21").Value = target_Sheet.Range("C" & targetLine).Value '等級
        format_Sheet.Range("P23").Value = target_Sheet.Range("D" & targetLine).Value '基本給
        format_Sheet.Range("P25").Value = target_Sheet.Range("E" & targetLine).Value 'みなし時間外手当
        format_Sheet.Range("P27").Value = target_Sheet.Range("F" & targetLine).Value '月額合計

        '行毎のPDFファイルを対象フォルダに出力
        format_Sheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=outputPath & target_Sheet.Range("A" & targetLine).Value
        
        '対象行を1行進める
        targetLine = targetLine + 1
    Loop

    'フォーマットシート初期化
    format_Sheet.Range("B4").Value = "対象者名"
    format_Sheet.Range("P21").Value = "XX"
    format_Sheet.Range("P23").Value = "XX"
    format_Sheet.Range("P25").Value = "XX"
    format_Sheet.Range("P27").Value = "XX"
End Sub

【効率的な人事業務の実現】

このExcel VBAマクロを活用することで、給与明細のPDF変換作業が驚くほど簡単になります。
手作業では煩雑だった作業が、わずかなステップで自動化されるため、正確性と効率性を高めることができます。一括PDF出力も可能なので、多くの給与通知を効率的に配布できるでしょう。

【まとめ】

Excel VBAマクロを活用して、給与通知をPDFに変換する方法をMacとWindowsそれぞれの環境でご紹介しました。
手順を追うだけで簡単に給与通知をPDFに変換できるので、人事業務の効率化に一役買うこと間違いありません。
手間を省きながら正確な給与通知を提供し、従業員との信頼を築く一助となるでしょう。

タイトルとURLをコピーしました