繁体   English   中英

Excel VBA宏将某些列复制到另一个工作簿

[英]Excel VBA macro to copy certain columns to another Workbook

我需要将一个电子表格的某些列复制到另一电子表格。

为此,我有一个宏:

    Sub Submit()
    Dim sourceColumn As Range, targetColumn As Range

    Set sourceColumn = 
     Workbooks("Submission_Form.xlsm").Worksheets("RGSheet").Columns("A")
    Set myData = Workbooks.Open("I:\Projects\...\Macros\RG.csv")
    Worksheets(1).Select
    Worksheets(1).Range("A1").Select
    Set targetColumn = Workbooks("RG.csv").Worksheets(1).Columns("A")

    sourceColumn.Copy Destination:=targetColumn
    End Sub

但是,当光标击中targetColumn时,会出现错误:

Run-time error '9':
Subscript out of range

为了简单起见,我将RG.csv与Submission_Form.xlsm放在同一文件夹中。 所以我很困惑为什么会出错。

我也想知道如何处理RG.csv是否位于另一个目录中。

该错误可能是因为未打开Submission_Form.xlsm(?)。 您的代码看起来有点不一致。 也许只需打开源和目标,然后复制列即可。 像这样吗

Option Explicit

Sub Submit()
    Dim vSourceWorkbook As Workbook
    Dim vDestinationWorkbook As Workbook

    Set vSourceWorkbook = Workbooks.Open("Submission_Form.xlsm")
    Set vDestinationWorkbook = Workbooks.Open("I:\Projects\...\Macros\RG.csv")

    vSourceWorkbook.Worksheets("RGSheet").Range("A:A").Copy Destination:=vDestinationWorkbook.Worksheets(1).Range("A:A")
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM