この記事では、Excel VBAを使用して「年次業績評価報告書」の生成について詳しく解説します。具体的なコードとその詳細な解説、さらに応用例を3つ含めてご紹介します。VBAを活用することで、手動での作業を自動化し、効率的に業務を進めることが可能となります。
目次
基本コード
年次業績評価報告書を生成する基本的なVBAコードを以下に示します。
Sub GeneratePerformanceReport()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Report")
ws.Range("A1").Value = "年次業績評価報告書"
ws.Range("A3").Value = "氏名"
ws.Range("B3").Value = "評価"
ws.Range("A4").Value = "田中太郎"
ws.Range("B4").Value = "A"
End Sub
コードの詳細解説
上記のコードは、Excelのワークシートに「年次業績評価報告書」のテンプレートを生成するものです。
– `Dim ws As Worksheet`: ワークシートを操作するための変数wsを宣言します。
– `Set ws = ThisWorkbook.Sheets(“Report”)`: ワークブック内の”Report”という名前のシートをwsに設定します。
– `ws.Range(“A1”).Value`: A1セルに”年次業績評価報告書”というテキストを入力します。
– `ws.Range(“A3”).Value` ~ `ws.Range(“B4”).Value`: A3セルからB4セルに必要な情報を入力します。
応用例1:評価データを外部ファイルから読み込む
Sub ImportDataFromExternalFile()
Dim wb As Workbook
Dim wsReport As Worksheet, wsData As Worksheet
Set wsReport = ThisWorkbook.Sheets("Report")
Set wb = Workbooks.Open("C:\path\to\external\data.xlsx")
Set wsData = wb.Sheets(1)
wsData.Range("A1:B10").Copy wsReport.Range("A4")
wb.Close
End Sub
解説
上記のコードでは、外部のExcelファイルから評価データを読み込み、報告書のテンプレートにデータをコピーします。
応用例2:条件付き書式を適用する
Sub ApplyConditionalFormatting()
Dim ws As Worksheet
Dim rng As Range
Set ws = ThisWorkbook.Sheets("Report")
Set rng = ws.Range("B4:B104")
With rng.FormatConditions.Add(Type:=xlCellValue, Operator:=xlEqual, Formula1:="=""A""")
.Font.Color = RGB(0, 176, 80)
.Font.Bold = True
End With
End Sub
解説
Aランクの評価を受けた人の名前を緑色にする条件付き書式を適用します。
応用例3:グラフを自動生成する
Sub GenerateGraph()
Dim ws As Worksheet
Dim chrt As ChartObject
Set ws = ThisWorkbook.Sheets("Report")
Set chrt = ws.ChartObjects.Add(Left:=100, Width:=375, Top:=75, Height:=225)
With chrt.Chart
.SetSourceData Source:=ws.Range("A3:B10")
.ChartType = xlColumnClustered
.HasTitle = True
.ChartTitle.Text = "年次業績評価"
End With
End Sub
解説
年次業績評価のデータを基に、評価の分布を示す棒グラフを自動で生成します。
まとめ
Excel VBAを利用して、年次業績評価報告書を効率的に生成することができます。基本のコードからさまざまな応用例まで、業務の効率化に役立ててください。
コメント