在 excel 2010 中使用宏将值从其正上方的单元格复制到单元格中

Use macro in excel 2010 to copy values into a cell from the cell directly above it

我有一行下拉列表,我正在尝试制作一个宏,以便如果该行完全填充,我可以突出显示该行下方的单元格,然后 运行 宏并拥有它使用上一行单元格中的值填充那些突出显示的单元格。

到目前为止,这是我的代码,它非常简单,但每次我 运行 我都会收到 运行 时间错误“13”类型不匹配。

Private Sub CommandButton1_Click()

If Application.Selection = 1 Then      'This line is the problem
Exit Sub
ElseIf Application.Selection > 1 Then       'This line is also a problem
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.FormulaR1C1 = "=R[-1]C"
End If

End Sub

您可以将其缩减为更短的代码,以便仅处理 Selection 中存在的空白单元格。

如果 Selection 无效,或者没有空白单元格,则代码会在错误处理后结束

Private Sub CommandButton1_Click()
On Error Resume Next
If Selection.Cells.Count > 1 Then Selection.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
End Sub