2017-03-09 80 views
2

我有下面的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

有關格式問題,請參閱http://stackoverflow.com/questions/25461314/vba-copy-cells-value-and-format。至於跳過空白的IF檢查值將做到這一點。 –

+0

謝謝!這幫了一大筆錢。我將在IF聲明中跳過空白。 – StrictlyBananas

回答

1

更換線喜歡:

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

與:

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

將保持顏色和字體。

+0

嗯,我不知道爲什麼我會讓它變得複雜。非常感謝! – StrictlyBananas