如何在VBA中“如果单元格包含”

当单元格包含数字“1”时,我正在查找代码来执行语句。

我一直在使用这个在线发现的代码。

Dim celltxt As String celltxt = ActiveSheet.Range("C6").Text If InStr(1, celltxt, "1") Then MsgBox ("Yes") Else MsgBox ("no") End If 

但是,这项工作,如果它只读取单元格C6。 我如何设置它,它将从C2:C5000读取一系列单元格。 就像我的单元格D2,当单元格C2显示“1”时显示“是”,而当单元格C3显示不同的数字时,单元格D3显示“否”。

感谢大的帮助

霍拉

你可以这样避免循环:

 Columns(3).SpecialCells(XlCellType.xlCellTypeConstants, xlNumbers).Offset(, 1).FormulaR1C1 = "=IF(RC[-1]=1,""yes"",""no"")" 

如果你想摆脱公式:

 With Columns(3).SpecialCells(XlCellType.xlCellTypeConstants, xlNumbers).Offset(, 1) .FormulaR1C1 = "=IF(RC[-1]=1,""yes"",""no"")" .value = .value End With