您好我有一个简单的VBA代码,它复制一个列并将其粘贴到另一列中,而不包含原始列中的空单元格。它在woorkbook中工作,我写的是它。但我把它复制到另一个我需要的地方。它会多次复制所需的单元格,并将整个列填充这些值。
Range("f5:f2500").ClearContents
With Range("d5:d2500")
.Offset(, 0).SpecialCells(xlCellTypeFormulas, _
xlNumbers).Copy
.Offset(, 2).PasteSpecial skipblanks:=True, _
Paste:=xlPasteValues
End With
答案 0 :(得分:2)
下面的Sub
将从D列复制公式(包含单元格中的值),并将它们的值粘贴到F列中,从单元格“F5”开始并向下(不包含空格)。
Sub
收到Worksheet.Name
作为参数,因此所有Range
内部都完全符合该特定工作表的名称。
<强>代码强>
Option Explicit
Sub CopyColumnWOBlanks(wsName As String)
With Worksheets(wsName)
.Range("F5:F" & .Cells(.Rows.Count, "F").End(xlUp).Row).ClearContents
.Range("D5:D" & .Cells(.Rows.Count, "D").End(xlUp).Row).SpecialCells(xlCellTypeFormulas, xlNumbers).Copy
.Range("F5").PasteSpecial Paste:=xlPasteValues, skipblanks:=True
End With
End Sub
下面的Main
子版仅用于测试,修改它以满足您的需求。
Sub Main()
CopyColumnWOBlanks ("Sheet5") ' <-- change "Sheet5" to whatever worksheet you want the macro to run
End Sub