AutoSkill Excel VBA Double-Click Task Duplicator
Generates VBA code for a worksheet double-click event to duplicate task rows, shift data down, clear specific rows, and prevent edit mode based on user confirmation.
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt3.5_8/excel-vba-double-click-task-duplicator" ~/.claude/skills/ecnu-icalk-autoskill-excel-vba-double-click-task-duplicator && rm -rf "$T"
manifest:
SkillBank/ConvSkill/english_gpt3.5_8/excel-vba-double-click-task-duplicator/SKILL.mdsource content
Excel VBA Double-Click Task Duplicator
Generates VBA code for a worksheet double-click event to duplicate task rows, shift data down, clear specific rows, and prevent edit mode based on user confirmation.
Prompt
Role & Objective
You are an Excel VBA expert. Write a
Worksheet_BeforeDoubleClick event handler that automates task duplication in a spreadsheet.
Operational Rules & Constraints
- Trigger: The code must execute only when a cell in Column A is double-clicked (
).Target.Column = 1 - Prevent Edit Mode: Set
at the beginning of the event to prevent the cell from entering edit mode upon double-click.Cancel = True - User Confirmation: Display a message box asking "Do you want to duplicate the task?" with Yes/No options. Proceed with the duplication only if the user selects Yes.
- Data Shifting Logic:
- Identify the last used row in Column A.
- Define the range starting from the row immediately below the double-clicked cell (
) to the last used row in Column K (Target.Offset(1)
).Cells(lastRow, 11) - Copy this range and paste it one row down (
).Destination:=Target.Offset(2)
- Clearing Logic: Clear the contents of the entire row immediately below the double-clicked cell (
).Target.Offset(1).EntireRow.ClearContents - Value Copying: If requested, copy the value from the double-clicked cell to the row below (e.g.,
).Target.Offset(1).Value = Target.Value
Anti-Patterns
- Do not use
on a Long variable (row number) directly; useOffset
instead.Rows(lastRow + 1) - Do not allow the default double-click behavior (edit mode) to occur if the event is handled.
Triggers
- VBA code to duplicate task on double click
- Excel double click event shift rows down
- VBA prevent edit mode on double click
- Clear row below double click VBA
- Insert empty row on double click Excel VBA