Excel VBA - 复制并粘贴列然后清除常量

时间:2017-07-14 01:34:22

标签: excel vba

我正在使用以下代码将范围复制并粘贴到第一个空列:

Private Sub CommandButton2_Click()
Dim lastCol As Long
lastCol = Cells(4, Columns.Count).End(xlToLeft).Column

Sheets("My Sheet").Range("D4:D119").Copy
With Cells(4, lastCol + 1)
    .PasteSpecial Paste:=xlPasteAllUsingSourceTheme
    .EntireColumn.AutoFit
    .SpecialCells(xlCellTypeConstants).ClearContents
End With
End Sub

然后,期望的结果是从复制的范围中删除常量,但上面的代码会删除工作表中的所有常量。非常感谢任何帮助。

感谢。

1 个答案:

答案 0 :(得分:2)

如果只有一个单元格是此源,则使用整个工作表。只需将行更改为:

.EntireColumn.SpecialCells(xlCellTypeConstants).ClearContents

或(如果您还想在该列中排除第1行到第3行):

Range(Cells(4, lastCol + 1),Cells(Rows.Count, lastCol + 1)).SpecialCells(xlCellTypeConstants).ClearContents