【问题标题】:How to search for a value, if found enter in specific text in the cell to the right and loop to the end如何搜索值,如果找到,在右侧单元格中输入特定文本并循环到末尾
【发布时间】:2014-09-15 20:02:37
【问题描述】:

我希望检查整个列中的某个值(第一个是 Murphy,Yvonne),如果找到该值,则在找到该值的位置旁边的单元格中放入一些内容(团队名称),继续通过整个列表。在未找到搜索值的地方留下空格。

最后我想做一些这样的陈述来用团队名称(团队 1、2、3 等)填充整个列

我一直在四处搜索并使用代码(请注意,我有时只涉足 VBA)并且我能够到达以下内容。哪个进行搜索并在单元格中输入团队名称,但不会在找到匹配项旁边的单元格中输入它。它只是为搜索到的术语的每场比赛一个接一个地添加团队名称。

我是否需要将范围值存储在某处,然后告诉它在该位置插入团队名称?

感谢您的帮助

Sub Macro1()
Dim irow As Integer

irow = 2
For Each i In Range("i2:i500")  
    If i.value = "Murphy, Yvonne" Then  
        Cells(irow, 11) = "Team Name"  
        irow = irow + 1  
    End If  
Next i  

End Sub

【问题讨论】:

    标签: vba excel search foreach


    【解决方案1】:

    我们需要更改 irow 以匹配所需的行:

    Sub Macro1()
        Dim irow As Integer
        For Each i In Range("i2:i500")
            If i.Value = "Murphy, Yvonne" Then
                irow = i.Row
                Cells(irow, 11) = "Team Name"
            End If
        Next i
    End Sub
    

    编辑#1

    对于2个标准**

    Sub Macro1()
    Dim irow As Integer
    irow = 2
    For Each I In Range("i2:i500")
        If I.Value = "Murphy, Yvonne" And _
            I.Offset(0, -1).Value = "Good, Thomas" Then
                irow = I.Row
                Cells(irow, 10).Value = "Team Name"
        End If
    Next I
    End Sub
    

    【讨论】:

    • 好的,如果我需要它检查不同列中的两个条件,但我仍然希望它向下迭代列表到 500,该怎么办?
      使用上面的示例:好的,我们检查 12:i500 是否为“Murphy, Yvonne” 和 h2:h500 是否为“Good, Thomas” 然后输入“团队名称” 我是否必须从上面的语句开始并在“然后”部分放另一个“为每个”?再次感谢!
    • 这取决于 both 标准是否需要为 Trueeither/or
    • 两者都必须为真。
    猜你喜欢
    • 1970-01-01
    • 2018-11-03
    • 2016-12-19
    • 1970-01-01
    • 2014-06-25
    • 1970-01-01
    • 2021-11-08
    • 1970-01-01
    • 2011-12-08
    相关资源
    最近更新 更多