Приведенный ниже код предназначен для условного форматирования выбранных строк в таблице.
Я попытался заменить диапазон, связанный с таблицей, ссылкой на имя таблицы, чтобы позволить автоматическое изменение диапазона при добавлении новых данных,Но когда я попробовал это, он показывает следующее сообщение:
![enter image description here](https://i.stack.imgur.com/7DLWY.png)
Строка в выделенном коде - это строка с красным, как показано ниже.
Любая помощь будет оценена.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim tbl As ListObject
Set tbl = ActiveSheet.ListObjects("Table1")
[COLOR="#FF0000"]If Not Intersect(Target, tbl.DataBodyRange.Select) Is Nothing Then [/COLOR]
Dim Cell As Range
Range("A4").NumberFormat = "@"
If Target.Count > 1 And Target.Count < 50 Then
StopCode
For Each Cell In Selection
Range("A4").Value = Range("A4").Value & "(" & Cell.Row - 21 & ")"
Next Cell
ResetCode
Else
Range("A4").Value = "(" & Target.Row - 21 & ")"
End If
Else
Range("A4").ClearContents
End If
End Sub