仅在包含特定值时重置值

时间:2017-02-22 14:31:27

标签: excel vba

我想制作一个按钮,如果我按下它按下整个列(例如B),并且它说“x”用“ - ”替换它,然后跟进已经设置的条件格式。谢谢(这种编程的新手,已经尝试了几件但不起作用)

Private Sub CommandButton1_Click()
    Item = Sheets("Sheet1").Range("B:B")

    If (StrComp(Items, "x") = 0) Then
        Items = "-"
    End If
End Sub    

2 个答案:

答案 0 :(得分:0)

以下代码应该让您走上正确的道路:

Dim Sh As WorkSheet
Set Sh = Sheet("Sheet1")

Dim R As Integer
For R = 1 To Sh.UsedRange.Rows.Count
  If Sh.Cells(R, 2) = "x" Then Sh.Cells(R, 2) = "-"
Next R

答案 1 :(得分:0)

使用Replace()对象的Range方法:

如果您想要完整匹配:

Sheets("Sheet1").Range("B:B").SpecialCells(xlCellTypeConstants, xlTextValues).Replace what:="x", replacement:="-", lookat:=xlWhole

如果您想要部分匹配:

Sheets("Sheet1").Range("B:B").SpecialCells(xlCellTypeConstants, xlTextValues).Replace what:="x", replacement:="-", lookat:=xlPart