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