Agent skill

excel-vba

Excel VBA開発の専門スキル。VBAマクロ作成、Excel操作自動化、ワークブック処理時に使用。

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/excel-vba

SKILL.md

Excel VBA開発スキル

基本方針

  • Option Explicit必須
  • エラーハンドリング必須(On Error GoTo)
  • 画面更新・計算の制御でパフォーマンス最適化
  • 変数は明示的に型宣言

標準テンプレート

Sub プロシージャ

vba
Option Explicit

Public Sub ProcessData()
    On Error GoTo ErrorHandler

    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual

    ' 処理本体

CleanUp:
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    Exit Sub

ErrorHandler:
    MsgBox "エラー: " & Err.Description, vbExclamation
    Resume CleanUp
End Sub

命名規則

  • モジュール: mod_機能名
  • プロシージャ: 動詞_目的語
  • 変数: キャメルケース(接頭辞付き: str, lng, rng等)

よく使うパターン

最終行取得

vba
Dim lastRow As Long
lastRow = Cells(Rows.Count, 1).End(xlUp).Row

範囲ループ

vba
Dim cell As Range
For Each cell In Range("A1:A" & lastRow)
    ' 処理
Next cell

配列処理(高速)

vba
Dim data As Variant
data = Range("A1:Z1000").Value
' 配列で処理
Range("A1:Z1000").Value = data

パフォーマンス最適化

vba
' 処理開始時
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False

' 処理終了時
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True

エラーハンドリングパターン

vba
On Error GoTo ErrorHandler
' 処理

Exit Sub

ErrorHandler:
    Dim errMsg As String
    errMsg = "エラー番号: " & Err.Number & vbCrLf & _
             "エラー内容: " & Err.Description
    MsgBox errMsg, vbCritical, "エラー"
    ' 必要に応じてログ出力
End Sub

Examples

  • /excel-vba 売上データを集計したい → ワークシート操作+集計ロジックのテンプレートを提供
  • /excel-vba 複数のExcelを統合したい → FileSystemObjectとワークブック操作のパターンを提供
  • マクロが遅い → パフォーマンス最適化パターン(ScreenUpdating等)を適用
  • エラーでマクロが止まる → エラーハンドリングテンプレートを提供

Guidelines

  • 必ず Option Explicit を宣言して暗黙の変数宣言を禁止
  • すべてのプロシージャに On Error GoTo ErrorHandler を実装
  • 大量データ処理時は配列に読み込んでからループ処理
  • 処理前後で ScreenUpdatingCalculation を制御
  • 変数名には型を示す接頭辞を付ける(str, lng, rng, ws等)
  • 長いプロシージャは機能ごとに分割して可読性を確保

関連エージェント

  • @excel-vba-expert: VBA開発専門家

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results