Excel 如何循环一行中的单元格以添加到字符串?

Excel 如何循环一行中的单元格以添加到字符串?,excel,vba,selection,rows,Excel,Vba,Selection,Rows,我正试图在Excel中编写一个宏来格式化和复制当前选择。作为这项工作的一部分,我希望遍历所有单元格,对它们的行进行有条件的格式化(第一行略有不同)。对我来说最有意义的是“Rows()”,但它在For Each循环中返回一个不匹配错误。有没有办法解决这个问题?(此外,它应该根据选择将行数作为变量使用,现在我只是尝试使用1-4。) 谢谢 使用范围变量类型并遍历所有IterateRange.Rows属性,其中IterateRange是要遍历其中每一行的任何范围 Private Sub rowTeste

我正试图在Excel中编写一个宏来格式化和复制当前选择。作为这项工作的一部分,我希望遍历所有单元格,对它们的行进行有条件的格式化(第一行略有不同)。对我来说最有意义的是“Rows()”,但它在For Each循环中返回一个不匹配错误。有没有办法解决这个问题?(此外,它应该根据选择将行数作为变量使用,现在我只是尝试使用1-4。)


谢谢

使用
范围
变量类型并遍历所有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