VBA 如果单元格低于一定长度,则突出显示并显示消息

use*_*396 2 excel vba highlight

我正在尝试编写一个宏来检查 Excel 电子表格中的某个列,以查找短于 9 个字符但大于 2 的条目,如果找到,则显示一条消息并突出显示找到该值的单元格。它可能会发生多次。我编写了以下代码:

Sub Highlight()
Dim c As Range
Dim LR As Integer
Dim intCell As Long
LR = Worksheets("Basket").Cells(Rows.Count, 6).End(xlUp).Row
For intCell = 1 To 8
For Each c In Range("G20:G" & LR).Cells
    If Len(c.Value) < 9 And Len(c.Value) > 2 Then
    MsgBox "One or more of the codes is invalid.  Correct the highlighted values."
    c.Cells(intCell).Interior.Color = vbYellow
    End If
Next
Next
End Sub
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚我做错了什么。任何帮助将不胜感激。

Tim*_*ams 6

只是猜测你想突出什么

Sub Highlight()
Dim c As Range
Dim LR As Integer
Dim numProbs as long
Dim sht as Worksheet

Set sht=Worksheets("Basket")

numProbs=0
LR = sht.Cells(Rows.Count, "G").End(xlUp).Row
For Each c In sht.Range("G20:G" & LR).Cells
    If Len(c.Value) < 9 And Len(c.Value) > 2 Then
        c.entirerow.cells(1).Resize(1,8).Interior.Color = vbYellow
        numProbs=numProbs+1
    End If
Next

if numProbs>0 Then
    msgbox "There were issues with " & numProbs & " rows. See yellow cells"
end if 


End Sub
Run Code Online (Sandbox Code Playgroud)