如果给定列中包含特定文本,则 VBA 替换单元格

如果给定列中包含特定文本,则 VBA 替换单元格

我是 VBA 的初学者,需要一些查找和替换自动化方面的帮助。

我需要一个代码,可以找到包含特定部分文本的列中的单元格,并用一个值替换该单元格,并用另一个值替换该行中的另一个单元格。当我按下来自不同工作簿的命令按钮时,我也想这样做。此外,我可以在多个条件下执行此操作吗?

这是我的代码:

Private Sub CommandButton2_Click()

Dim ws2 As Worksheet
Dim lRow As Long
Set ws2 = Workbooks("Hills").Worksheets("Section Properties")

With ws2
    lRow = .Range("B" & .Rows.Count).End(xlUp).Row
    For i = 1 To lRow
        If .Cells("B", i) = "\X2\00D8\X0\20 ROD" Then
            .Cells("B", i) = "Round 20"
            .Cells("C", i) = "SolidMet"
    End If
Next i
End With

With ws2
    For i = 1 To lRow
    lRow = .Range("B" & .Rows.Count).End(xlUp).Row
        If .Cells("B", i) = "\X2\00D8\X0\16 ROD" Then
            .Cells("B", i) = "Round 16"
            .Cells("C", i) = "SolidMet"
    End If
Next i
End With

End Sub

目前,什么都没有发生,我不知道如何解决这个问题。

这是我的电子表格:

我想要的效果如下:

在单元格 B12 中,“\X2\00D8\X0\20 ROD”更改为“20 Round”,并将“SolidMet”添加到 C12。同样,在单元格 B22 中,“\X2\00D8\X0\16 ROD”更改为“16 Round”,并将“SolidMet”添加到 C22。

相关内容