Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA:用上面的值加上1填充空白单元格_Excel_Vba - Fatal编程技术网

Excel VBA:用上面的值加上1填充空白单元格

Excel VBA:用上面的值加上1填充空白单元格,excel,vba,Excel,Vba,我有5张有空白单元格的表格,我需要用上面的值加1填充它们。例如:A列有1,2,4,5,我需要一个代码使其成为1,2,3,4,5 我尝试了一个在网上找到的代码,但它只是复制了上面的值 Sub FillBlanks() Columns("A:A").Select Selection.SpecialCells(xlCellTypeBlanks).Select Selection.FormulaR1C1 = "=R[-1]C" End Sub 我需要填补所有空白。您可以在没有VBA的情况下完成 选择范

我有5张有空白单元格的表格,我需要用上面的值加1填充它们。例如:A列有1,2,4,5,我需要一个代码使其成为1,2,3,4,5

我尝试了一个在网上找到的代码,但它只是复制了上面的值

Sub FillBlanks()
Columns("A:A").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.FormulaR1C1 = "=R[-1]C"
End Sub

我需要填补所有空白。

您可以在没有VBA的情况下完成

选择范围,点击F5打开“转到”对话框,单击“特殊”,在下一个对话框中勾选“空白”,然后单击“确定”。这将选择所选范围内的所有空白单元格

现在,在不更改选择的情况下,键入一个
=
符号,然后点击键盘上的向上箭头,然后键入
+1
。按住Ctrl键并点击Enter

如果仍要使用VBA,请将最后一行代码更改为

Selection.FormulaR1C1 = "=R[-1]C+1"

这将为您提供与手动方法相同的结果。

通过尽可能避免使用
Select
,您的程序将更简单、更快、更高效。以下是一行中的正确程序:

子填充空格()
列(“A:A”)。特殊单元格(xlCellTypeBlanks)。公式1c1=“=R[-1]C+1”
端接头
要应用于工作簿中的所有5张工作表:

子填充空格()
将ws设置为工作表,最后一行设置为长
出错时继续下一步
对于此工作簿中的每个ws。工作表
LastRow=ws.Range(“A”&ws.Rows.Count).End(xlUp).Row
ws.Range(“A1:A”和LastRow)。特殊单元格(xlCellTypeBlanks)。公式1C1=“=R[-1]C+1”
下一个ws
端接头