0
我試圖讓我使用宏記錄器生成的代碼工作。我使用的電子表格有一些只能包含數字或日期的列,但由於某些原因,其中一些值存儲爲文本。Excel VBA PasteSpecial與xlPasteSpecialOperationAdd不起作用
爲了解決這個問題,我決定複製並粘貼將0
添加到所有這些單元格中。如果我手工做,它可以正常工作。所以,我開始使用Excel宏記錄器來獲取代碼。我對所生成的代碼做了一些修改,只是爲了使它更易讀和乾淨,但實際上,也不是原代碼,也不是我的版本。
的代碼如下:
Range("F1").Value = 0
Range("F1").Copy
Set rngPaste = Range(Range("D3:E3"), Range("D3:E3").End(xlDown))
rngPaste.PasteSpecial Paste:=xlPasteValues, Operation:=xlPasteSpecialOperationAdd,
_ SkipBlanks:=False, Transpose:=False
Set rngPaste = Range(Range("G3:J3"), Range("G3:J3").End(xlDown))
rngPaste.PasteSpecial Paste:=xlPasteValues, Operation:=xlPasteSpecialOperationAdd,
_ SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
任何想法,爲什麼這是不工作?
在此先感謝!
你能描述一下當你運行上面的代碼會發生什麼?你是什麼意思,它不起作用?你可以添加你修改之前錄製的內容嗎? – Mike
你說「一些存儲爲文本的值」,那麼爲什麼不選擇全部並將它們設置爲默認值或數字? –
@Mike它應該將文本中存儲的日期和數字更改爲正確的類型。 –