Skip to content

VBAlidator rule catalogue

Stable rule IDs emitted by VBAlidator. Each row links to the rule's detail page. Use the rule_id to silence specific findings in your CI ignore list — the IDs do not change between releases.

Rule Severity Category Phase Title
VBA001 🔴 error name_resolution 0 Undefined identifier
VBA002 🔴 error member_access 0 Member not found
VBA003 🔴 error declaration 0 Duplicate declaration
VBA004 🔴 error member_access 0 Invalid .member reference without With
VBA005 🔴 error type 0 Expected Array or Procedure
VBA006 🔴 error signature 0 Argument count mismatch
VBA007 🔴 error signature 0 ByRef argument type mismatch
VBA008 🔴 error control_flow 0 Exit statement type mismatch
VBA009 🟡 warning control_flow 0 Unreachable code
VBA010 🔴 error syntax 0 Syntax error
VBA101 🔴 error declaration 1.4 ReDim target undefined
VBA102 🔴 error declaration 1.4 ReDim target not a variable
VBA103 🔴 error declaration 1.4 ReDim target is not a dynamic array
VBA104 🔴 error declaration 1.4 Erase target undefined
VBA105 🔴 error declaration 1.4 Erase target not a variable
VBA106 🔴 error declaration 1.4 Erase target is not an array
VBA201 🔴 error jump 2.1 Jump target is not a label
VBA210 🔴 error assignment 2.2 Set used on a scalar target
VBA211 🔴 error assignment 2.2 Object assignment without Set
VBA221 🔴 error property 2.3 Property Let/Set has zero parameters
VBA222 🔴 error property 2.3 Property Let/Set arity disagrees with Get
VBA223 🔴 error property 2.3 Property Set value parameter is scalar (use Let)
VBA224 🔴 error property 2.3 Property Let value parameter is object (use Set)
VBA230 🔴 error const_expression 2.5 Const initialiser calls a function
VBA231 🔴 error const_expression 2.5 Const initialiser references a non-constant
VBA240 🔴 error operator_type 2.4 Arithmetic operator between string and numeric literal
VBA250 🔴 error declaration 2.8 Fixed-length String at procedure level
VBA300 🔴 error platform 3.3 Declare missing PtrSafe
VBA310 🔴 error enum 3.4 Duplicate Enum member name
VBA320 🟡 warning style 3.6 Module is missing Option Explicit
VBA330 🔴 error interface 3.1 Class is missing an interface method
VBA340 🔴 error events 3.2 RaiseEvent target has no matching Event declaration
VBA341 🔴 error events 3.2 RaiseEvent argument count mismatch
VBA350 🔴 error syntax 3.5 Procedure terminator does not match its kind
VBA360 🔴 error placement 3.5 Module-only declaration inside a procedure body
VBA361 🔴 error placement 3.5 Executable statement at module level
VBA_LEX001 🔴 error lexer 0 Unexpected character
VBA_LEX002 🔴 error lexer 2.7 Invalid date literal
VBA_RT000 🔵 info roundtrip 4.5 Round-trip verification unavailable
VBA_RT001 🔴 compile_verified roundtrip 4.5 VBE round-trip compile error
VBA_RT002 🟡 warning roundtrip 4.5 Round-trip verification inconclusive

41 rules registered. Generated from src/rules.py via python tools/generate_rule_docs.py.