Excel VBA从活动单元格粘贴到合并单元格的偏移量

时间:2019-01-03 09:47:36

标签: excel vba excel-vba

我正在复制-将值从一个工作表粘贴到另一个工作表。问题是我有两个合并的单元格要输入数据,它们是D:E。来自B67的相同数据进入位于Offset(-1, -1)Offset(-24, 0)

的两个合并的单元格中

我的代码:

Private Sub CommandButton2_Click()

'Paste to a Defined Range
ThisWorkbook.Sheets("Other Data").Range("L67").Copy

'Offset Paste (offsets 2 cells down and 1 to the right
ActiveCell.PasteSpecial xlPasteValues

ThisWorkbook.Sheets("Other Data").Range("B67").Copy
ActiveCell.Offset(-1, -1).PasteSpecial xlPasteValues
ActiveCell.Offset(-24, 0).PasteSpecial xlPasteValues

End Sub 

我收到以下错误消息:

ActiveCell.Offset(-1, -1).PasteSpecial xlPasteValues

此单元格位于上方1个单元格中,位于左侧1个单元格中。如果我取消合并此单元格,则代码可以正常工作。但是,应将其合并以适合我的文字。

与以下相同:

ActiveCell.Offset(-24, 0).PasteSpecial xlPasteValues 

2 个答案:

答案 0 :(得分:2)

嗨,我认为它与xlpastevalues有关。尝试使用xlPasteAll,看看是否可以解决您的问题。

答案 1 :(得分:1)

这将起作用。

Private Sub CommandButton2_Click()

    Dim Temp As Variant
    Dim R As Long

    Temp = ThisWorkbook.Sheets("Other Data").Range("L67").Value
    With ActiveCell
        R = .Row
        If R > 1 And .Column > 1 Then .Offset(-1, -1).MergeArea.Value = Temp
        If R > 24 Then .Offset(-24, 0).MergeArea.Value = Temp
    End With
End Sub