Скопируйте несколько ячеек, чтобы вставить в одну ячейку - PullRequest
0 голосов
/ 10 марта 2020

У меня есть три разных именованных диапазона, я хочу, чтобы макрос скопировал все три, объединил их все (каждый на одной отдельной строке) и вставил их в одну ячейку на другом листе.

 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

Это только вставить значение в диапазоне1.

Ответы [ 2 ]

2 голосов
/ 10 марта 2020

Объедините значения вместе и вставьте их в нужную ячейку.

Я добавил пробел между различными значениями.

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
0 голосов
/ 10 марта 2020

L oop предварительно упомянутые диапазоны и получить все включенные значения. Это используется, если у вас много ячеек в вашем диапазоне

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...