我尝试使用代码复制行并将值粘贴到它们下面的空白行中。例如:
1 ----> 1
1
2 2
3 3
3
4 4
但是当我应用这段代码时:
Sub Copy ()
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.FormulaR1C1 = "=R[-1]c"
End Sub
当我手动输入数字或文本时,我在excel上自己尝试时效果很好。但是当我尝试在客户端的excel表上运行时,我得到以下内容(我将把它们的行表示为任意数字):
1 ----> 1
R[-1]c
2 2
3 3
R[-1]c
4 4
有人已经发布了一个效果很好的代码,但我很好奇为什么我的代码没有按照我想要的方式工作。
感谢。
答案 0 :(得分:0)
如评论中所述,单元格被格式化为文本,这就是单元格内容显示为输入内容的原因。在这种情况下'= R [-1] c'
答案 1 :(得分:0)
您的代码无法正常工作的原因是您在代码中使用的选择。
代码将尝试在选择中找到空白单元格,如果选择内容不包含任何空白单元格,则代码将产生错误。
您可以尝试这样的事情......
Sub Copy()
On Error Resume Next
Columns("A").SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]c"
End Sub
将列A替换为要应用该公式的列。