Excel VBA:搜索文本并将其变为粗体并更改单元格颜色

时间:2018-10-20 12:30:39

标签: excel vba

这是新手,但感谢我能提供的任何帮助。

问题:我有一个有名字缩写的值班表,有时我想强调一个特定的人以查看他/她的时间表。突出显示包括更改字体颜色并使其变粗,但我也希望更改单元格颜色,比如说浅绿色。我确实知道我可以使用“搜索/替换”功能,但是我想要一个宏。

到目前为止,我设法拼凑了一个输入框,可以更改字体颜色并在字体中添加“粗体”(以及其他更改),但是我还没有解决更改单元格颜色的问题。

这是我到目前为止所拥有的:

present()

任何帮助将不胜感激! (提示和响应中的文本为瑞典语)

1 个答案:

答案 0 :(得分:0)

您也可以使用条件格式进行此操作,而无需VBS。
使用条件格式公式,您可以输入以下内容:=AND(ISNUMBER(SEARCH($G$1;A2));$G$1<>"")-在这种情况下,字段G1将是用于搜索(读取:突出显示)包含此条件的所有字段的字段。

如果您希望使用VBS,我们可以改进并为与您的搜索相匹配的所有行添加过滤器:

Sub searchfilter()
    Range("A11:M10000").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
        Range("A2:M13"), Unique:=False
End Sub

并清除:

Sub clearfilter()
    On Error Resume Next
    ActiveSheet.ShowAllData
    On Error GoTo 0
End Sub

将两个宏都分配给一个按钮。

我将两者结合在一起的样本图像(在这种情况下,在C15上完成了过滤): sample usage

并显示带有隐藏字段的示例: sample with hidden fields