如何为excel编写一个Copy宏?

时间:2013-10-05 20:18:27

标签: excel vba copy

我正在寻找一个宏,如果D是(空白),则从D列复制到F列,如果从C到F复制,如果空复制从B到F,如果空复制从A到F,则删除复制的单元格。

1 个答案:

答案 0 :(得分:1)

这应该让你开始:

Sub CopyCol()
    If Application.CountA(Range("D:D")) > 0 Then
        Range("F:F").Value = Range("D:D").Value
        Range("D:D").FormulaR1C1 = ""
    ElseIf Application.CountA(Range("C:C")) > 0 Then
        Range("F:F").Value = Range("C:C").Value
        Range("C:C").FormulaR1C1 = ""
    ElseIf Application.CountA(Range("B:B")) > 0 Then
        Range("F:F").Value = Range("B:B").Value
        Range("B:B").FormulaR1C1 = ""
    ElseIf Application.CountA(Range("A:A")) > 0 Then
        Range("F:F").Value = Range("A:A").Value
        Range("A:A").FormulaR1C1 = ""
    End If
End Sub

请注意,它会拾取包含空格或其他不可见项目的列。我假设你只有普通的数据而且整个列都是空的。