2015-10-15 38 views
1

我试图连接两列并将它们粘贴到同一工作簿中的另一个工作表中。有一个复杂因素,我必须为预定义范围的行执行此操作,而不是整列。我已经成功复制了一列,如下所示,但我不知道如何将其扩展到两列的连接。连接两列并粘贴到新工作簿

Sub Write_Rows(StartRow As Integer, EndRow As Integer) 

Dim CopySheet As Worksheet, PasteSheet As Worksheet 
Set CopySheet = Sheets("Sheet1") 
Set PasteSheet = Sheets("Master") 'I already made this sheet 

CopySheet.Range("B" & StartRow, "B" & EndRow).Copy PasteSheet.Range("A2") 

End Sub 

我试图做的是完全一样this question接受的答案,但在Excel不是谷歌电子表格。

+0

是否正在为您使用数组公式选项? –

回答

1

您可以通过数组公式完成此操作,然后删除公式并修改值。假设您想要连接列B和C:

Sub Write_Rows(StartRow As Integer, EndRow As Integer) 

    Dim dest As Range: Set dest = Sheets("Master").Range("A2:A" & 2 + EndRow - StartRow) 
    Dim src1 As Range: Set src1 = Sheet1.Range("B" & StartRow & ":B" & EndRow) 
    Dim src2 As Range: Set src2 = src1.Offset(0, 1) 

    dest.FormulaArray = "=" & src1.Address(External:=True) & "&" & src2.Address(External:=True) 
    dest.Value = dest.Value 

End Sub 
+1

概念上很好且紧凑的编程方法。 – skkakkar

相关问题