我有一個包含 2 張不同作業表的 Excel 檔案。
表 1 包括原始資料。
Name Address Phone
Alex 1698 ABC street, L23 N22, ON 1-547-222-4444
Mark 2212 XYZ street*, M23 N22, ON 1-547-333-5555
Fred 1234 QWE street, L55 N62, ON 1-547-666-7777
...
在作業表 2 中,我有一列逐行指示允許的字符:
AllowedCharacters
0
1
2
...
9
A
B
...
Z
a
b
...
z
-
/
\
&
,
我需要檢查 Sheet1 中是否有任何行包括不允許的字符(不在 Sheet2 的串列中),如果有,我應該用黃色突出顯示單元格。
所以在上面的示例資料中,Mark 的地址應該突出顯示,因為它包含字符:*,這是不允許的。
最好的方法是什么?
uj5u.com熱心網友回復:
也許是這樣的?
Sub test()
Dim rg As Range: Dim cell As Range
Dim crit As Range: Dim i As Long: Dim txt as String
With Sheets("Sheet1")
Set rg = .Range("A2", .Range("A" & Rows.Count).End(xlUp))
End With
Set crit = Sheets("Sheet2").Columns(1)
For Each cell In rg
txt = cell.Value & cell.Offset(0, 1).Value & cell.Offset(0, 2).Value
For i = 1 To Len(txt)
If Mid(txt, i, 1) <> " " Then
If crit.Find("~" & Mid(txt, i, 1), lookat:=xlWhole) Is Nothing Then
Range(cell, cell.Offset(0, 2)).Interior.Color = vbYellow
Exit For
End If
End If
Next i
Next cell
End Sub
首先,子將 Sheet1 A 列中的資料范圍轉換為變數 rg。
然后將標準范圍從 Sheet2 列 A 變為變數 crit。
然后回圈rg中的單元格
將文本連接到txt變數
然后回圈txt變數中的每個字符
檢查是否在crit中找到回圈的char
如果沒有找到然后突出顯示單元格并退出char的回圈,
繼續下一個單元格在 rg.
uj5u.com熱心網友回復:
如果要按顏色突出顯示,則應嘗試條件格式,請選擇要檢查的單元格>主頁>條件格式>突出顯示單元格規則>包含的文本>設定規則和顏色。然后對于另一行,您可以復制格式
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/487672.html
標籤:擅长 vba excel公式 excel-2016
