Back to skills
SKILL.md
Excel Vba
ASecurityExcel VBA開発の専門スキル。VBAマクロ作成、Excel操作自動化、ワークブック処理時に使用。
- 666 stars
- 0 votes
- 2 copies
- 14 views
- Added February 8, 2026
Security analysis
100/100npx -y skills add majiayu000/claude-skill-registry --skill excel-vba --agent claude-codeAre you the author of Excel Vba?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/majiayu000-excel-vba)---
name: excel-vba
description: Excel VBA開発の専門スキル。VBAマクロ作成、Excel操作自動化、ワークブック処理時に使用。
user-invocable: true
argument-hint: "[task-description]"
---
# 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` を実装
- 大量データ処理時は配列に読み込んでからループ処理
- 処理前後で `ScreenUpdating` と `Calculation` を制御
- 変数名には型を示す接頭辞を付ける(str, lng, rng, ws等)
- 長いプロシージャは機能ごとに分割して可読性を確保
## 関連エージェント
- `@excel-vba-expert`: VBA開発専門家
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.