【问题标题】:Excel VBA Cell Range Copy sub rountineExcel VBA 单元格区域复制子例程
【发布时间】:2012-11-16 19:35:42
【问题描述】:

各位程序员,大家好, 我在 Excel 中遇到 VBA 编码问题。我的问题是将数据从 VBA 中的单元格范围复制到 VBA 中的其他单元格范围。这是我的子例程的示例...

 Public Sub CopyRange(ByVal pv_ws_source_worksheet As Worksheet, _
              ByVal pv_ws_destination_worksheet As Worksheet, _
              ByVal pv_rg_source_range As Range, _
              ByVal pv_rg_destination_range As Range)

    Dim Cell_Range As Range
    Dim CommaSplit() As String
    Dim ColonSplit() As String
    Dim i As Integer
    Dim j As Integer

    CommaSplit() = Split(pv_rg_destination_range.Address, ",")

    For Each Cell_Range In pv_ws_source_worksheet.Range(pv_rg_source_range.Address)
        pv_ws_destination_worksheet.Range(CommaSplit(i)).Value = Cell_Range.Value
        i = i + 1
    Next

End Sub

此子当前可以将 B17:B24 等单元格范围复制到 B25、B18、B22、B21、B11、A12、A2、C2 等单个单元格。我需要修改这个子,以便它可以将单元格范围复制到其他单元格范围。这种想法的一个例子是 B24:B30 到 C12:C17,它们可以在不同的工作表上。请帮助我会非常喜欢它:)

【问题讨论】:

    标签: excel vba ms-office


    【解决方案1】:

    你想多了。你可以做一个简单的:

    Worksheet1.Range("something").Copy
    Worksheet2.Range("something").PasteSpecial xlPasteValues
    'If needed add this for formatting
    'Worksheet2.Range("something").PasteSpecial xlPasteFormat
    

    【讨论】:

    • 不适用于我正在复制的单元格范围我收到关于“该命令不能用于多项选择”的 1004 错误
    • 正如错误消息所说,您不能使用多项选择。在复制粘贴之前分解你的范围。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多