Vba 我是否不正确地使用Columns()属性,如果是,是否有好的解决方法?
我目前正在解决一个问题 类型不匹配错误 在我正在编写的一个宏中,我编写了一个简短的子程序来深入研究具体问题。该子例程应在A列中循环,在第1-10行中输入数字1-10Vba 我是否不正确地使用Columns()属性,如果是,是否有好的解决方法?,vba,excel,Vba,Excel,我目前正在解决一个问题 类型不匹配错误 在我正在编写的一个宏中,我编写了一个简短的子程序来深入研究具体问题。该子例程应在A列中循环,在第1-10行中输入数字1-10 Sub looptest() Dim rRange As Range Dim rCell As Range Dim i As Integer Set rRange = ThisWorkbook.Worksheets(1).Columns(1) i = 0 For Each rCel
Sub looptest()
Dim rRange As Range
Dim rCell As Range
Dim i As Integer
Set rRange = ThisWorkbook.Worksheets(1).Columns(1)
i = 0
For Each rCell In rRange
If i < 10 Then
i = i + 1
rCell.Value2 = i
End If
Next rCell
End Sub
Sub-looptest()
模糊排列为范围
变暗rCell As范围
作为整数的Dim i
设置排列=此工作簿。工作表(1)。列(1)
i=0
对于安排中的每个rCell
如果我<10,那么
i=i+1
rCell.Value2=i
如果结束
下一个rCell
端接头
而是用1填充A列中的每个单元格。在调试模式下单步遍历它显示,rCell引用的不是单个单元格,而是整个列
我发现如果我替换
Set-rRange=thispoolk.工作表(1).列(1)
与
Set-rRange=thispoolk.Worksheets(1).范围(“A1:A100”)
宏按预期工作,但是我更希望能够在生产代码中使用Columns()或类似的东西
我是否未正确使用Columns()属性,如果是,是否有一个好的解决方法?从以下更改开始:
Set rRange = ThisWorkbook.Worksheets(1).Columns(1).Cells
Dim i As Long
使用
.Cells
让我们可以循环查看列中的单元格,而不是工作表中的列。我只是按原样尝试了您的代码,没有收到任何错误。按照您编写的方式,循环只发生一次。据我所知,您使用的是正确的。为什么要循环104万次,只加载前10次?@ScottCraner,因为这是一个快速测试子,我不担心性能。生产代码看起来更像此工作簿。工作表(1)。为rRange.Cells中的每个rCell使用drange.Column(1),添加.Cells属性完成了完美修复。非常感谢!