VBA,对于每个循环,将偏移量增加 1 列



我有一个 for 每个循环,如何逐步将单元格输出增加一列?目前,这只写入输出中的一个单元格。

Sub quarterly()
Dim result As String
rev = Sheets("fin").Range("B105:F105")
For Each x In rev:
    result = Replace(x, "M", "")
    Sheets("output").Cells(2, 2) = result
Next

End Sub

您可以使用计数器:

Sub quarterly()
dim j as long
j = 0
dim rev as range
rev = workSheets("fin").Range("B105:F105")
dim x as variant
For Each x In rev
    Dim result As String
    result = Replace(x, "M", "")
    Sheets("output").Cells(2, 2+j) = result
    j=j+1
Next

End Sub

如果您的"目标"范围为空,那么您可以使用End(xlToLeft)并在任何单元格写入时直接步进一个单元格:

Sub quarterly()    
    Dim x, rev
    rev = Sheets("fin").Range("B105:F105").Value        
    With Sheets("output")
        For Each x In rev            
            .Cells(2, .Columns.Count).End(xlToLeft).Offset(, 1) = Replace(x, "M", "")
        Next
    End With    
End Sub

最新更新