返回值,如果为空,则返回另一个单元格的值,如果另一个单元格为空,则返回第三个单元格的值

时间:2016-11-04 10:45:20

标签: excel vba excel-vba excel-formula excel-2010

如果Cherry有价值,那么保留它并删除/隐藏该行中的其他内容,从图片中删除/隐藏红色,并且应该保留黑色。事实上,没有色差,这只是用于表达。因此,在这种情况下,数据单元D2停留,并且C2,B2和A2上的数据正在移除/隐藏。如果D2上的数据丢失,那么C2将会停留,B2和A2将被删除/隐藏等等......如果只有Apple有像A23这样的某个单元格的数据那么那将是停留而不是删除/隐藏,并且当然B23,C23和D23在这种情况下是空的如何在VBA或Excel公式中实现这个逻辑?谢谢!]

Excel sheet

1 个答案:

答案 0 :(得分:1)

这应该有效。希望这不是你的功课;)

Sub ThisMacro()
    Dim LastRow As Long, LastCol As Long
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row
    For i = 2 To LastRow
        LastCol = Cells(i, Columns.Count).End(xlToLeft).Column
        If LastCol > 1 Then
            Range(Cells(i, 1), Cells(i, LastCol - 1)).ClearContents
        End If
    Next i
End Sub