簡體   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