Я нашел код, который использует RegEx
, чтобы определить, есть ли какие-либо специальные символы в столбце.Я только что узнал о RegEx
сегодня, и я пытался редактировать этот код, но я столкнулся с 3 проблемами:
- Он использует
"ActiveSheet"
, но я прочитал, что это может вызвать проблемы.Я хотел бы, чтобы он проверял только рабочий лист с именем "Consolidated."
Я пытался Worksheets.("Consolidated").Range
в строке For Each, но он не принимает его. - Это относится ко всему рабочему листу.Я хотел бы знать, возможно ли применить его к столбцу на основе его имени (например, Имя), а не его диапазона, потому что столбцы не зафиксированы в консолидированной рабочей таблице.
- Также выделяется 1-я строка, в которой расположены имена столбцов (чего не должно быть).Я понимаю логику или рабочий процесс этого, но я новичок в VBA, поэтому я действительно хотел бы спросить руководство по этому вопросу.
Dim strPattern As String: strPattern = "[^a-z0-9-]"
Dim regEx As Object
Dim Cell As Range
Set regEx = CreateObject("VBScript.RegExp")
regEx.Global = True
regEx.IgnoreCase = True
regEx.Pattern = strPattern
For Each Cell In ActiveSheet.Range("A:Z") ' Define your own range here
If strPattern <> "" Then ' If the cell is not empty
If regEx.Test(Cell.Value) Then ' Check if there is a match
Cell.Interior.ColorIndex = 6 ' If yes, change the background color
End If
End If
Next