复制多个单元格以粘贴到一个单元格中

时间:2020-03-10 14:00:49

标签: excel vba

我有三个不同的命名范围,我希望宏复制所有三个范围,将它们合并在一起(每个都在单独的一行上),然后将它们粘贴到另一个工作表中的一个单元格中。

 Dim range1 As Range, range2 As Range, range3 As Range, multipleRange As Range

 Set range1 = wsForm.Range("Details_Absenteisme")
 Set range2 = wsForm.Range("Boite_Infraction")
 Set range3 = wsForm.Range("Boite_Corrections")
 Set multipleRange = Union(range1, range2, range3)

 ws_operation.Range("I" & lrow_operation).Value = multipleRange

这只会将值粘贴到range1中。

2 个答案:

答案 0 :(得分:2)

将这些值连接在一起,然后将其粘贴到所需的单元格中。

我在不同的值之间添加了一个空格。

dim copystr as string

copystr = wsForm.Range("Details_Absenteisme").value & _
" " & wsForm.Range("Boite_Infraction").value & _
" " & wsForm.Range("Boite_Corrections").value

ws_operation.Range("I" & lrow_operation).Value = copystr

答案 1 :(得分:0)

圈出上述提及的范围并获取所有包含的值。如果您的范围内有很多单元格,则使用此方法

Sub test()

    Dim nameRng As Variant
    Dim i As Long
    Dim cell As Range
    Dim str As String

    nameRng = Split("Details_Absenteisme,Boite_Infraction,Boite_Corrections", ",")
    str = ""

    For i = LBound(nameRng) To UBound(nameRng)

        With wsForm

            For Each cell In .Range(nameRng(i))

                If str = "" Then
                    str = cell.Value
                Else
                    str = str & " " & cell.Value
                End If

            Next cell

        End With

    Next i

    MsgBox str

End Sub