移动单元格时保持颜色和字体并跳过空白单元格

时间:2017-03-09 20:07:34

标签: excel vba excel-vba

我有以下VBA脚本。它只是将信息从一张纸移动到另一张纸。但是,我希望移动的每个单元格在sheet2中具有与sheet1中相同的颜色和字体。樱桃在顶部,当移动细胞时,如果我可以让脚本跳过空白细胞那将是惊人的。

Sub Example()

lr = Sheets("Sheet1").Range("Z65536").End(xlUp).Row
k = 0
For i = 5 To lr
k = k + 1

Sheets("Sheet2").Range("A" & k) = Sheets("Sheet1").Range("Z" & i)
Sheets("Sheet2").Range("B" & k) = Sheets("Sheet1").Range("Z" & i)
Sheets("Sheet2").Range("C" & k) = Sheets("Sheet1").Range("Z" & i)
Sheets("Sheet2").Range("D" & k) = Sheets("Sheet1").Range("Z" & i)
k = k + 1
Sheets("Sheet2").Range("A" & k) = Sheets("Sheet1").Range("AA" & i)
Sheets("Sheet2").Range("B" & k) = Sheets("Sheet1").Range("AA" & i)
Sheets("Sheet2").Range("C" & k) = Sheets("Sheet1").Range("AA" & i)
Sheets("Sheet2").Range("D" & k) = Sheets("Sheet1").Range("AA" & i)

Next

End Sub

1 个答案:

答案 0 :(得分:1)

替换以下行:

Sheets("Sheet2").Range("A" & k) = Sheets("Sheet1").Range("Z" & i)

使用:

Sheets("Sheet1").Range("Z" & i).Copy Sheets("Sheet2").Range("A" & k)

将保持颜色和字体。