VBA-粘贴/插入范围而不格式化的范围移动



这可能很简单,但是作为初学者,我不确定如何将这两个代码组合到一个代码中。

现在,我使用此代码将表并粘贴到特定范围内。 Sheet3.Range("MyTable").Copy Sheets("MyWorksheet").Range("B12:D12").Insert Shift:=xlDown

现在我想粘贴它而不格式化,此代码应该完成工作:

Sheets("MyWorksheet").Range("B12:D12").PasteSpecial xlPasteValuesAndNumberFormats

我要做的就是以某种方式将Shift:=xlDown添加到第二个代码中...是否可以一行进行全部操作?

尝试使用此解决方案,其中1st-我们像以前一样复制 插入,第二个 - 我们将其复制到粘贴的值,以覆盖插入的内容:

Sheet3.Range("MyTable").Copy
Sheets("MyWorksheet").Range("B12:D12").Insert Shift:=xlDown
With Sheets("MyWorksheet").Range("B12").Resize(Sheet3.Range("MyTable").Rows.Count, Sheet3.Range("MyTable").Columns.Count)
    .Copy
    .PasteSpecial xlPasteValuesAndNumberFormats
End With
    Application.CutCopyMode = False    

尝试以两行进行操作,但您必须保留所有指令的正确顺序:

Sheets("MyWorksheet").Range("B12:D12").Insert Shift:=xlDown
Sheet3.Range("MyTable").Copy
Sheets("MyWorksheet").Range("B12").PasteSpecial xlPasteValuesAndNumberFormats

.insert之前也可能需要以下行:

application.CutCopyMode = false

最新更新