| id | 04f90c1d-7606-44c7-ad7a-94be38b78a21 |
| name | Excel VBA Double-Click Task Duplicator |
| description | 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. |
| version | 0.1.0 |
| tags | ["Excel VBA","Double Click Event","Automation","Task Management","Row Manipulation"] |
| 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"] |
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
Cancel = True at the beginning of the event to prevent the cell from entering edit mode upon double-click.
- 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 (
Target.Offset(1)) to the last used row in Column K (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
Offset on a Long variable (row number) directly; use Rows(lastRow + 1) instead.
- 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