我正在编写一个方法,可以使用Target
并将单元格精确粘贴到另一个单元格。该单元格是一个带有一些花式结构的运输标签。我有办法吗?
原来我有这个:
Worksheets("Label").Range("A1").Value = Worksheets("Get Address").Range("A28").Value
它适用于纯文本。然而,我失去了我创造的造型,它们是不同的,因为在第一行之后,风格是不同的:
我还尝试使用Macro Recorder,我使用.Select
获得了一个解决方案,并且我read this question尽可能不使用它。我该怎么办?
' Created by the Macro Recorder
Range("A28:A33").Select
Range("A33").Activate
Selection.Copy
Sheets("Label").Select
Range("A1").Select
ActiveSheet.Paste
答案 0 :(得分:19)
Worksheets("Get Address").Range("A33").Copy _
Destination := Worksheets("Label").Range("A1")
答案 1 :(得分:6)
仅复制和粘贴值,然后使用以下
Worksheets("Label").Range("A1").value = _
Worksheets("Get Address").Range("A33").value
此声明不会使用剪贴板
答案 2 :(得分:0)
您可以遍历范围内的每个单元格,以在目标位置复制并设置每个单元格的值,注释等。 这是一个例子。
Sub CopySpecial(p_RangeFrom As String, p_OffsetRow As Integer, p_OffsetColumn As Integer)
Dim l_Row As Integer
Dim l_Column As Integer
Dim thisCell As Range
Dim l_TargetCell As Range
l_Row = Range(p_RangeFrom).Row
l_Column = Range(p_RangeFrom).Column
For Each thisCell In Range(p_RangeFrom)
Set l_TargetCell = Range(Cells(thisCell.Row + p_OffsetRow, thisCell.Column + p_OffsetColumn).Address)
' Copy the text
l_TargetCell.Value = thisCell.Value
' Copy the comment only if we have a comment to copy
If Not thisCell.Comment Is Nothing Then
' Delete any existing comment in the target cell, if any.
' If you don't to this the .AddComment Method below will fail.
If Not l_TargetCell.Comment Is Nothing Then l_TargetCell.Comment.Delete
Call l_TargetCell.AddComment(thisCell.Comment.Text)
End If
' Add more items to copy here, such as color, etc.
Next
End Sub
Sub TestCall()
Call CopySpecial("A1:B2", 3, 3)
End Sub