我希望在excel中找到一个词并突出它。如何做到这一点?

时间:2016-06-27 08:20:59

标签: vba

我希望在excel中找到一个单词并突出显示该单元格。如何使用VBA进行操作。 我的代码突出显示整个表格。

这是代码 -

Sub Foreign_Lang_Converter()

Sheets("Sheet2").Select
Value = 0
i = 1
Do While (Cells(i, 2) <> "")
Value = Value + 1
i = i + 1
Loop
Count = 0
For j = 1 To Value

a = Cells(j, 1)
b = Cells(j, 2)
Sheets("Sheet1").Select
Cells.Select
    Selection.Find What:=a
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent6
        .TintAndShade = 0.599993896298105
        .PatternTintAndShade = 0
    End With
Selection.Replace What:=a, Replacement:=b
Sheets("Sheet2").Select
Next j
End Sub

2 个答案:

答案 0 :(得分:1)

首先,read this

编辑:这不是您的整体任务的解决方案,但我会将其保留,因为它是您使用原始代码描述的问题的解决方案(它将整个工作表着色)。

这里的问题是Selection.Find What:=a没有改变选择,它会返回一个范围(无处可去)。由于仍然选择了整个纸张,因此接下来的步骤将整个纸张着色。尝试

With Sheets("Sheet1").Cells.Find(a)
    With .Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent6
        .TintAndShade = 0.599993896298105
        .PatternTintAndShade = 0
    End With
    .Value = b
End With

这只会替换一次。查看.FindNext方法或条件格式。此外,设置其他搜索参数(LookInLookAtSearchOrderMatchByte)可能会更好,因为它们会被保存。 (见评论here

编辑:固定代码。现在应该工作。

答案 1 :(得分:0)

我得到了决议,

代码就像 -

  0x000000000286fd5e: shl    $0x8,%edx