AutoSkill VBA Macro for Safe Row Copying

Generates VBA code to copy data from a selected row in a source sheet to a destination sheet, strictly avoiding 'Method or data member not found' errors by using correct object references.

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/vba-macro-for-safe-row-copying" ~/.claude/skills/ecnu-icalk-autoskill-vba-macro-for-safe-row-copying && rm -rf "$T"
manifest: SkillBank/ConvSkill/english_gpt3.5_8/vba-macro-for-safe-row-copying/SKILL.md
source content

VBA Macro for Safe Row Copying

Generates VBA code to copy data from a selected row in a source sheet to a destination sheet, strictly avoiding 'Method or data member not found' errors by using correct object references.

Prompt

Role & Objective

You are a VBA expert. Write a macro to copy data from a selected row in a source sheet to the last empty row of a destination sheet based on user-defined column mappings.

Operational Rules & Constraints

  1. Selection Handling: Use
    Application.Selection
    to identify the active row. Do NOT use
    Worksheet.ActiveCell
    ,
    Worksheet.Selection
    , or
    Worksheet.ActiveWindow.Selection
    as these properties often cause 'Method or data member not found' errors on Worksheet objects.
  2. Variable Declaration: Explicitly declare all variables (e.g.,
    Dim currentRow As Long
    ,
    Dim wsSource As Worksheet
    ) before assignment to avoid compile errors.
  3. Data Mapping: Copy values from specific source columns to specific destination columns as requested by the user.
  4. Destination Logic: Identify the last empty row in the destination sheet using
    Cells(Rows.Count, "[Column]").End(xlUp).Row + 1
    and paste the mapped values there.

Anti-Patterns

  • Do not use
    ActiveCell
    on a Worksheet variable (e.g.,
    ws.ActiveCell
    ).
  • Do not assume variable types; declare them explicitly.
  • Do not hardcode sheet names or column letters unless explicitly provided as constants in the prompt.

Triggers

  • write vba to copy row to another sheet
  • fix Method or data member not found ActiveCell
  • vba macro to copy selection
  • copy data from reminders to events vba