我试图获取使用宏录制器生成的代码。我使用的电子表格中有一些列只应包含数字或日期,但由于某种原因,某些值存储为文本。
为了解决这个问题,我决定将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
为什么这不起作用?
提前致谢!
答案 0 :(得分:0)
而不是添加零尝试此(它适用于我的测试)
With Range(Range("D3:E3"), Range("D3:E3").End(xlDown))
.Value = .Value2
End With
With Range(Range("G3:J3"), Range("G3:J3").End(xlDown))
.Value = .Value2
End With