如果在末尾有空格,请使用VBA为列着色

时间:2018-02-28 15:35:44

标签: excel vba excel-vba

(程序)宏的目的是检查表列中的数据,看它们是否格式正确。如果它们的格式不正确,则该行标记为红色(背景颜色),并且格式错误的框(或框)的写入为空白。那么如果格式(我要检查的格式是否有空格无用)我怎么能着色呢? 有人可以知道如何

Sub deletespace()
'deleteespace_description Macro
    Dim cell As Range
    Range("E:V").Select
    For Each cell In ActiveSheet.UsedRange
        cell = Application.WorksheetFunction.Trim(cell)
    Next
End Sub

1 个答案:

答案 0 :(得分:1)

考虑到您只想检查范围(“E:V”)中的单元格,这些单元格在UsedRange范围内,从您的代码判断:

Sub DeleteSpaces()

    Dim myCell          As Range
    Dim checkIntersect  As Range
    Dim ws              As Worksheet

    Set ws = ActiveSheet
    Set checkIntersect = ws.Range("E:V")

    With WorksheetFunction
        For Each myCell In Intersect(ws.UsedRange, checkIntersect)
            If Len(.Trim(myCell)) <> Len(myCell) Then myCell.Interior.Color = vbRed
        Next
    End With

End Sub

我们的想法是将Len(.Trim(myCell))Len(myCell)进行比较,如果与vbRed中的内部颜色不同则相同。 myCell用作变量,仅出于审美原因。