dynamicsearch与高亮 – Excel VBA

我想实现以下目标:在我的Excel表中,我有一组数据,我已经通过创build一个“search框”来应用dynamic过滤。 过滤本身工作正常,没有问题,但是,我想进一步改善它,突出显示在红色过滤行中的文本(这是进入search框)。 我附上我想在最终版本中看到的截图。

在这里输入图像说明

任何想法如何可以input到我当前的代码?

一如既往,任何帮助非常感谢! 谢谢!

以下是我用于dynamic过滤的代码:

Private Sub TextBox1_Change() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual If Len(TextBox1.Value) = 0 Then Sheet1.AutoFilterMode = False Else If Sheet1.AutoFilterMode = True Then Sheet1.AutoFilterMode = False End If Sheet1.Range("B4:C" & Rows.Count).AutoFilter field:=1, Criteria1:="*" & TextBox1.Value & "*" End If Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic End Sub 

考虑这样的事情 – 在工作表中写下以下内容:

 Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target <> Range("a1") Then Exit Sub SelectAndChange (Target) End Sub Private Sub SelectAndChange(strValue As String) Dim rngCell As Range Dim rngRange As Range Dim strLookFor As String Dim arrChar As Variant Dim lngCounter As Long If strValue = vbNullString Then Exit Sub Application.EnableEvents = False Set rngRange = Range("E1:E10") rngRange.Font.Color = vbBlack strLookFor = Range("A1").Value For Each rngCell In rngRange For lngCounter = 1 To Len(rngCell) - Len(strLookFor) + 1 If Mid(rngCell, lngCounter, Len(strLookFor)) = strLookFor Then rngCell.Characters(lngCounter, Len(strLookFor)).Font.Color = vbRed End If Next lngCounter Next rngCell Application.EnableEvents = True End Sub 

E1:E10的值将取决于A1的值,如下所示:

在这里输入图像说明