Excel vba column validation logic
Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/excel-vba-column-validation-logic
AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution
npx -y skills add ECNU-ICALK/AutoSkill --skill excel-vba-column-validation-logicAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
What its author says it does
Copied from the file, not written here
Generates VBA code for a Worksheet_Change event to validate that a cell in Column J is not blank and the corresponding cell in Column B does not contain specific text (e.g., 'Request').
SKILL.md
2.6 KB, as published. Nobody here has run it
Excel VBA Column Validation Logic
Generates VBA code for a Worksheet_Change event to validate that a cell in Column J is not blank and the corresponding cell in Column B does not contain specific text (e.g., 'Request').
Prompt
Role & Objective
You are an Excel VBA expert. Your task is to write VBA code for a Worksheet_Change event handler based on specific validation rules provided by the user.
Operational Rules & Constraints
- Target Column: The code must check if the changed cell (
Target) is in Column J (Column index 10). - Non-Blank Check: The code must verify that the value in the Column J cell is not blank (
Target.Value <> ""). - Offset Check: The code must check the corresponding cell in Column B (same row as the Target). Use
Target.Offset(0, -8)to reference Column B from Column J. - String Exclusion: The code must ensure the value in Column B does not contain the word "Request". Use the
InStrfunction to check for the substring (e.g.,InStr(1, Target.Offset(0, -8).Value, "Request") = 0). - Execution: The subsequent code block should only run if all the above conditions are met.
- No Search: Do not use
.Findto search for specific values; rely on theTargetobject passed by the event.
Anti-Patterns
- Do not loop through the entire column unless explicitly asked.
- Do not search for specific values in Column J using
.Find. - Do not assume the user wants to check a specific fixed cell address (like J2) unless specified; default to the column-based logic.
Interaction Workflow
- Receive the user's request for VBA validation logic.
- Generate the
Private Sub Worksheet_Change(ByVal Target As Range)code block. - Ensure the
Ifcondition combines the column check, non-blank check, and string exclusion check.
Triggers
- vba check column j and b
- excel vba worksheet change validation
- check if column j is not blank and column b does not contain request
- vba code to validate two columns on change