Excel VBA程序:替换表格中的空格有效,但为什么?
我已经引用了这个网站来回答我的许多问题,但这是一个我找不到答案的网站Excel VBA程序:替换表格中的空格有效,但为什么?,excel,vba,Excel,Vba,我已经引用了这个网站来回答我的许多问题,但这是一个我找不到答案的网站 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 = "" T
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
这是我使用的代码(将变量/工作表名称更改为generic,以便于对话)
声明变量
Dim r As范围
但永远不要设置引用或定义r是什么。
那么这部分是如何工作的呢?我认为必须为每个变量指定一个值或引用,以便VBA知道如何处理它
For Each r In Table.DataBodyRange
If r.Value = "" Then r.Value = "-"
Next r
我在寻找原因
这是我的第一篇帖子,我对谷歌一直是我的朋友的编程/编码业务非常熟悉。我正在寻找更多的理论,而不是旧的复制/粘贴代码,进行一些名称更改,然后祈祷
如果格式化不完美,我会选择。
我很高兴澄清我的问题是否有道理
为每个r
执行赋值-将DatabodyRange
中的每个单元格顺序赋值给r
FYI您的With
块在这里不做任何事情。为每个r in.
位将r
变量设置为表中的单元格,一次一个单元格。您可能会想到类似i=1到10的,它的工作原理与每个的略有不同
谢谢大家的快速回复。是的,我的目标是让它查看表中的每个单元格。谢天谢地,我在这里找到了代码,我只是不明白r是如何定义为每个单元格的@Timty作为参考!对于表中的每个r,我可能会将其写为。DataBodyRange.Cells
更明确地说明代码在做什么对于每个r
是执行赋值的-DataBodyRange
中的每个单元格都被顺序地赋值给r
FYI每个r In…
位将r
变量设置为表中的单元格,一次一个单元格。您可能会想到类似于for i=1到10
的方法,对于每个来说,它的工作原理与稍有不同,谢谢各位的快速回复。是的,我的目标是让它查看表中的每个单元格。谢天谢地,我在这里找到了代码,我只是不明白r是如何定义为每个单元格的@Timty作为参考!我可能会为Table.DataBodyRange.Cells中的每个r编写,以便更明确地说明代码在做什么