2012-11-16 193 views
0

你好其他程序员, 我遇到了Excel中VBA编码的问题。我的问题是将数据从VBA中的单元格范围复制到VBA中的其他单元格范围。这里是例子的子过程我有...Excel VBA单元格范围副本rountine

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到indiviual细胞像B25,B18,B22,B21,B11,A12,A2,C2 。我需要修改这个子集,以便它可以将单元格区域复制到其他单元格区域。这个想法的一个例子是B24:B30到C12:C17,它们可以在不同的工作表上。请帮助,我会大大appericate它:)

回答

1

你正在推翻这一点。你可以做一个简单的:

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

不与我抄袭,我收到了1004错误有关 – user1750089

+1

由于错误消息说,“那命令不能对多重选择使用”的单元格区域的工作,你可以” t使用多个选项。在进行复制粘贴之前分解您的范围。 – ApplePie

相关问题