Excel 如何循环一行中的单元格以添加到字符串?
我正试图在Excel中编写一个宏来格式化和复制当前选择。作为这项工作的一部分,我希望遍历所有单元格,对它们的行进行有条件的格式化(第一行略有不同)。对我来说最有意义的是“Rows()”,但它在For Each循环中返回一个不匹配错误。有没有办法解决这个问题?(此外,它应该根据选择将行数作为变量使用,现在我只是尝试使用1-4。)Excel 如何循环一行中的单元格以添加到字符串?,excel,vba,selection,rows,Excel,Vba,Selection,Rows,我正试图在Excel中编写一个宏来格式化和复制当前选择。作为这项工作的一部分,我希望遍历所有单元格,对它们的行进行有条件的格式化(第一行略有不同)。对我来说最有意义的是“Rows()”,但它在For Each循环中返回一个不匹配错误。有没有办法解决这个问题?(此外,它应该根据选择将行数作为变量使用,现在我只是尝试使用1-4。) 谢谢 使用范围变量类型并遍历所有IterateRange.Rows属性,其中IterateRange是要遍历其中每一行的任何范围 Private Sub rowTeste
谢谢 使用
范围
变量类型并遍历所有IterateRange.Rows属性,其中IterateRange
是要遍历其中每一行的任何范围
Private Sub rowTester()
Dim mRow As Range
For Each mRow In Range("A1:B4").Rows
Debug.Print mRow.Row
'your code here which will execute on each row in the above range
Next mRow
End Sub
假设所选内容是工作表中某个位置的任意矩形范围。我们希望创建另一个范围,该范围仅为该范围的第三行:
Sub TheThirdRow()
Dim r As Range, rThirdRow As Range
Set r = Selection
Set rThirdRow = Intersect(r(3, 1).EntireRow, r)
rThirdRow.Select
End Sub
您可以在第三行中的单元格上循环,等等
类似于第二行或第四行,等等。将
rSelection.Rows(2)
更改为rSelection.Rows(2)。单元格
要修复错误是否尝试将多行转换为单个字符串?你能告诉我们更多你所拥有的和你想用它做什么吗?是的,我是。但是,输出字符串将有多行与excel表相匹配(因此Chr(10)等)。这些答案看起来很贴切,我现在正试图通过它们。我希望我能选择两个答案!非常感谢您的支持,通过将my for Each循环嵌套在此循环中,代码现在对于选择的行数是可变的。
Sub TheThirdRow()
Dim r As Range, rThirdRow As Range
Set r = Selection
Set rThirdRow = Intersect(r(3, 1).EntireRow, r)
rThirdRow.Select
End Sub