Claude-skill-registry excel-vba

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

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/excel-vba" ~/.claude/skills/majiayu000-claude-skill-registry-excel-vba && rm -rf "$T"
manifest: skills/data/excel-vba/SKILL.md
source content

Excel VBA開発スキル

基本方針

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

標準テンプレート

Sub プロシージャ

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等)

よく使うパターン

最終行取得

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

範囲ループ

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

配列処理(高速)

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

パフォーマンス最適化

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

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

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

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
    を実装
  • 大量データ処理時は配列に読み込んでからループ処理
  • 処理前後で
    ScreenUpdating
    Calculation
    を制御
  • 変数名には型を示す接頭辞を付ける(str, lng, rng, ws等)
  • 長いプロシージャは機能ごとに分割して可読性を確保

関連エージェント

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