Excel VBAを活用した研究開発プロジェクトの進捗報告書作成術

Excelを日常的に使用する方なら、研究開発プロジェクトの進捗報告書作成において、VBAを活用して自動化を図ることで効率的に業務を進められることを知っています。この記事では、Excel VBAを使用した進捗報告書の作成方法を具体的なコードとともに解説します。

目次

Excel VBAの基本

Excel VBA(Visual Basic for Applications)は、Microsoft Excelに組み込まれたプログラミング言語です。これを用いると、単純作業の自動化だけでなく、高度なデータ分析やレポート作成も可能になります。

そもそも、どこにVBAコードを書いて、どう実行すれば良いのか分からない場合は、以下の記事をご参照ください。

基本的な進捗報告書の自動作成

VBAを使用してExcelで進捗報告書を自動作成する際の基本的な手順を示します。


Sub CreateProgressReport()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Sheet1")

    'タイトルの作成
    ws.Range("A1").Value = "研究開発プロジェクト 進捗報告書"
    ws.Range("A1:A2").Merge
    ws.Range("A1").Font.Size = 18
    ws.Range("A1").Font.Bold = True

    'ヘッダーの作成
    ws.Range("A3").Value = "日付"
    ws.Range("B3").Value = "タスク名"
    ws.Range("C3").Value = "進捗率"
    ws.Range("A3:C3").Font.Bold = True
End Sub

上記のコードでは、新しい進捗報告書の基本的なフォーマットを作成しています。A1セルにはタイトルを配置し、A3からC3にはヘッダー情報を入力しています。

入力データの自動追加

進捗データを自動的に入力する方法を紹介します。


Sub AddProgressData()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Sheet1")
    
    Dim LastRow As Long
    LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

    'データの追加
    ws.Range("A" & LastRow + 1).Value = Date
    ws.Range("B" & LastRow + 1).Value = "サンプルタスク"
    ws.Range("C" & LastRow + 1).Value = "50%"
End Sub

応用例

進捗データのグラフ表示

進捗率をグラフで視覚的に表示する方法を紹介します。


Sub CreateProgressChart()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Sheet1")

    Dim LastRow As Long
    LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

    'グラフの作成
    Dim rng As Range
    Set rng = ws.Range("B2:C" & LastRow)
    
    Dim chrt As Chart
    Set chrt = ws.Shapes.AddChart2(251, xlColumnClustered).Chart

    chrt.SetSourceData Source:=rng
End Sub

進捗率に応じた色分け

セルの色を進捗率に応じて自動で変更する方法を紹介します。


Sub ColorBasedOnProgress()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Sheet1")

    Dim cell As Range
    For Each cell In ws.Range("C2:C" & ws.Cells(ws.Rows.Count, "C").End(xlUp).Row)
        If cell.Value >= 80 Then
            cell.Interior.Color = RGB(0, 255, 0) ' 緑
        ElseIf cell.Value >= 50 Then
            cell.Interior.Color = RGB(255, 255, 0) ' 黄色
        Else
            cell.Interior.Color = RGB(255, 0, 0) ' 赤
        End If
    Next cell
End Sub

コメント欄の追加

進捗状況に関するコメントを追加する方法を紹介します。


Sub AddCommentColumn()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Sheet1")

    ws.Range("D3").Value = "コメント"
    ws.Range("D3").Font.Bold = True
End Sub

まとめ

Excel VBAを使用して、研究開発プロジェクトの進捗報告書を効率的に作成する方法を学びました。基本的な報告書の作成から、グラフの表示や色分け、コメント欄の追加などの応用例まで紹介しました。これらの知識を活用して、日常の業務をよりスムーズに進めることができるでしょう。

VBAも良いけどパワークエリも良い

VBAの解説をしてきましたが、VBAは正直煩雑でメンテナンス性が悪いです。最近はモダンExcelと呼ばれるパワークエリやパワーピボットへのシフトが進んできています。本サイトでもパワークエリの特集をしており、サンプルデータを含む全11回の学習コンテンツでパワークエリを習得することができます。

クリックするとパワークエリの全11講座が表示されます。

パワーピボットの記事はありません。興味がある場合は、書籍で学んでみてください

コメント

コメントする

目次