Я ссылался на этот сайт, чтобы ответить на многие мои вопросы, но на этот вопрос я не смог найти ответ.
Public Sub RemoveBlanks()
Dim Table As ListObject
Set Table = Worksheets("Sheet1").ListObjects("ExampleTable")
Dim r As Range
With Table.DataBodyRange
For Each r In Table.DataBodyRange
If r.Value = "" Then r.Value = "-"
Next r
End With
End Sub
Это код, который я использовал (изменил имена переменных / листов) в общем c для простоты разговора).
Объявлена переменная Dim r As Range
Но никогда не устанавливайте ссылку и не определяйте, что такое r. Так как же работает эта часть? Я думал, что для каждой переменной должно быть назначено значение или ссылка для VBA, чтобы знать, что с ней делать.
For Each r In Table.DataBodyRange
If r.Value = "" Then r.Value = "-"
Next r
Я ищу причину.
Это мой первый пост, и я очень хорошо разбираюсь в этом бизнесе по программированию / кодированию - Google был моим другом. Я ищу больше теории вместо старой доброй копии / вставки кода, внесения нескольких изменений имени и скрестив пальцы.
Мои извинения, если форматирование не является идеальным. Я рад уточнить, если то, что я спрашиваю, не имеет смысла.