繁体   English   中英

Excel-如果行包含特定值,则重命名单元格

[英]Excel - Rename cell if row contains certain value

我已经看到了一些类似的问题,但是找不到适合我情况的答案。 如果在一行中找到数据,则该行的C列将用该数据标记。 但是我还希望该行下方的所有列在C列中都包含相同的标签。直到找到下一个数据,然后我要对整个文档重复相同的过程,直到每一行在C列中都有反映其数据的数据为止。特定部分。

我可能在解释这一点上做得很差,所以这就是我想发生的事情。 任何帮助将不胜感激。

[我希望结果如何的示例。]

仅使用IF公式,这非常简单。 这是伪代码:

if the sentence start with "class" then 
  refer to cell next to him
else:
  refer to cell on top of him

公式视图

在代码中如下所示:

Sub test()
    Dim rng As Range
    With ActiveSheet
        For Each rng In Intersect(.Columns("C"), .UsedRange)
            If Left$(Trim(rng.Offset(, 1)), 5) = "Class" Then
                rng = rng.Offset(, 1)
            Else
                rng = rng.Offset(-1)
            End If
        Next rng
    End With
End Sub

如果要使用D列来确定要循环到的最后一行,则可以使用以下命令(如果要使用其他列来确定要循环到最后一行的距离,请在不同的列字母上加上“ D” )

Option Explicit

Sub test()
    Dim rng As Range
    With ActiveSheet
        For Each rng In .Range(.Cells(1, "C"), .Cells(.Cells(.Rows.Count, "D").End(xlUp).row, "C"))
            If Left$(Trim(rng.Offset(, 1)), 5) = "Class" Then
                rng = rng.Offset(, 1)
            Else
                rng = rng.Offset(-1)
            End If
        Next rng
    End With
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM