1
我正在編寫一個代碼來執行「K」列上的公式,更改其格式,然後將其複製並粘貼到列「A」中。複製和粘貼特殊?
我也在嘗試將列「I」複製並粘貼到列「B」。 「我」決定了細胞在B列
這裏是我的代碼至今numebr:
Sub Test()
Dim i As Long
i = Sheet1.Cells(Rows.Count, 2).End(xlUp).Row
With Range("K3:K" & i)
.Formula = "=DATE(A3,G3,H3)"
.NumberFormat = "ddmmmyyyy"
.Copy
Range("A3:A" & i).PasteSpecial xlPasteFormats
End With
With Range("I3:I" & i)
.Copy
Range("B3:B" & i).PasteSpecial xlPasteFormats
End With
End Sub
哪裏出了錯任何想法?我是VBA新手,所以這很可能是我忽略的一個小錯誤。
編輯:調整的公式正確地將列I複製到列B,但列K到列A是錯誤的。
比方說,K列有日期:
29Apr1921
08May1922
21Oct1923
A柱現在有:
04Apr1905
05Apr1905
06Apr1905
你看到了什麼意外的結果?一個錯誤?沒有結果?錯誤的格式?其他? – ARich
在該行的範圍之前刪除句點'.Range(「A3:A」&i).PasteSpecial xlPasteFormats'和'.Range(「B3:B」&i).PasteSpecial xlPasteFormats'。當在範圍之前使用'.'時,你可以得到'Range(「K3:K」&i).Range(「A3:A」&i)'',就像'offset' +'resize'一樣工作。你可以在這裏閱讀更多關於'Range.Range'的行爲:http://stackoverflow.com/questions/21417748/range1-range2-returns-strange-addresses/21424687#21424687 –
謝謝simoco,它複製並粘貼。唯一的問題是,在A欄中,日期未被正確轉移。我會在問題的編輯中解釋。 – JC11