Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 连接两列并粘贴到新工作簿_Vba_Excel - Fatal编程技术网

Vba 连接两列并粘贴到新工作簿

Vba 连接两列并粘贴到新工作簿,vba,excel,Vba,Excel,我正在尝试连接两列并将它们粘贴到同一工作簿中的另一个工作表中。有一个复杂的问题,我必须对预定义的行范围而不是整个列执行此操作。我成功地复制了一列,如下所示,但我不确定如何将其扩展到两列的串联 Sub Write_Rows(StartRow As Integer, EndRow As Integer) Dim CopySheet As Worksheet, PasteSheet As Worksheet Set CopySheet = Sheets("Sheet1") Set PasteShee

我正在尝试连接两列并将它们粘贴到同一工作簿中的另一个工作表中。有一个复杂的问题,我必须对预定义的行范围而不是整个列执行此操作。我成功地复制了一列,如下所示,但我不确定如何将其扩展到两列的串联

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

我试图做的与Excel中接受的答案完全相同,但不是在Google电子表格中。

您可以通过数组公式执行此操作,然后删除公式并修复值。假设要连接列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

是否可以选择使用数组公式?