简体   繁体   English

查找其中包含特定字符串的单元格并将右侧的单元格 2 列替换为特定值

[英]Finding a cell with a specific string in it and replacing the cell 2 columns to the right with a specific value

As the title states, I need to find all cells in a worksheet with a specific string in them and replace the cell 2 columns to the right with a specific value如标题所述,我需要在工作表中找到所有包含特定字符串的单元格,并将右侧的单元格 2 列替换为特定值

Edit: this is what I have so far but no idea where to go from here编辑:这是我到目前为止所拥有的,但不知道 go 从这里到哪里

Sub t()
Dim searchCell As Range  
Dim replaceCell As Range
With Sheets("Chainwire")
    Set searchCell = .Cells.Find(what:="UFFT50")
    Set replaceCell = searchCell.Offset(0, 2)
End With
End Sub

Any help is much appreciated任何帮助深表感谢

Try this:尝试这个:

Sub ReplaceItems()
    Dim col, c, dest As Range
    
    Set col = FindAll(Sheets("Chainwire").UsedRange, "UFFT50") 'get all matches
    
    'loop matches and replace value 2 cells over
    For Each c In col
        c.Offset(0, 2).Value = "a specific value"
    Next
End Sub


'search a Range for `val` and return all matches as a Collection
'   of cells
Public Function FindAll(rng As Range, val As String) As Collection
    Dim rv As New Collection, f As Range
    Dim addr As String
    'adjust Find() arguments to suit your need...
    Set f = rng.Find(what:=val, after:=rng.Cells(rng.Cells.CountLarge), _
        LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
        SearchDirection:=xlNext, MatchCase:=True)
    If Not f Is Nothing Then addr = f.Address() 'remember first cell found

    Do Until f Is Nothing
        rv.Add f
        Set f = rng.FindNext(after:=f)
        If f.Address() = addr Then Exit Do 'exit if we looped back to the first hit
    Loop

    Set FindAll = rv
End Function

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

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