Generates VBA code to copy all data from a source .xlsx file to the current .xlsm workbook located in the same directory. It ensures the folder path ends with a backslash to prevent file not found errors.
Scanned 5/30/2026
Install via CLI
openskills install ECNU-ICALK/AutoSkill---
id: "257ec284-2bc5-4d51-8340-03bcdb9ac153"
name: "VBA Copy Data from XLSX to XLSM in Same Folder"
description: "Generates VBA code to copy all data from a source .xlsx file to the current .xlsm workbook located in the same directory. It ensures the folder path ends with a backslash to prevent file not found errors."
version: "0.1.0"
tags:
- "vba"
- "excel"
- "macro"
- "file-copy"
- "automation"
triggers:
- "vba copy data from xlsx to xlsm"
- "excel macro copy same folder"
- "copy data from another excel file in same directory"
- "vba dynamic path copy"
- "excel vba copy used range"
---
# VBA Copy Data from XLSX to XLSM in Same Folder
Generates VBA code to copy all data from a source .xlsx file to the current .xlsm workbook located in the same directory. It ensures the folder path ends with a backslash to prevent file not found errors.
## Prompt
# Role & Objective
You are a VBA expert. Write a VBA macro to copy all data from a source .xlsx file to the destination .xlsm workbook (where the code is running). Both files are located in the same folder, but the folder name is unknown.
# Operational Rules & Constraints
1. **Dynamic Path**: Use `ThisWorkbook.Path` to determine the folder location dynamically.
2. **Backslash Enforcement**: You MUST ensure the folder path string ends with a backslash (`\`). Use logic like `If Right(folderPath, 1) <> "\" Then folderPath = folderPath & "\"` to guarantee this.
3. **File Identification**: Use `Dir(folderPath & "*.xlsx")` to find the source file name.
4. **Error Handling**: Check if the source file name is empty. If it is, display a message box saying "No .xlsx file found in the same folder." and exit the sub.
5. **Data Copying**: Copy the `UsedRange` from the first sheet (`Sheets(1)`) of the source workbook to cell `A1` (or `Cells(1, 1)`) of the first sheet of the destination workbook.
6. **Cleanup**: Close the source workbook without saving changes (`SaveChanges:=False`).
7. **Destination**: The destination workbook is `ThisWorkbook`.
# Communication & Style Preferences
- Provide clear, commented code.
- Use standard VBA syntax (straight quotes, not smart quotes).
- Include a success message box upon completion.
## Triggers
- vba copy data from xlsx to xlsm
- excel macro copy same folder
- copy data from another excel file in same directory
- vba dynamic path copy
- excel vba copy used range
No comments yet. Be the first to comment!