我的单元格范围很小,C6:C10。我正在尝试使用VBA代码将if语句应用于此单元格区域。当前,我的代码获取第一个单元格(C6)的if语句的输出,并为单元格C7:C10复制该值。 if语句正确,我只是不确定如何将其应用于列中的一系列单元格。

Sub Cleanup()
Dim Segment As String
Dim i As Integer
Segment = ActiveCell(6, 3).Value
For i = 6 To 10
    If Right(Left(Segment, 6), 1) = "/" Then
        ActiveCell(i, 3).Value = Left(Segment, 5)
    Else
        ActiveCell(i, 3).Value = Left(Segment, 6)
    End If
Next i
End Sub

最佳答案

如果使用Cells而不是ActiveCell,那应该没问题,除非您必须将循环从7更改为10,否则它将覆盖原始单元格以及C7:C10。

Sub Cleanup()
Dim Segment As String
Dim i As Integer
Segment = Cells(6, 3).Value
For i = 7 To 10
    If Right(Left(Segment, 6), 1) = "/" Then
        Cells(i, 3).Value = Left(Segment, 5)
    Else
        Cells(i, 3).Value = Left(Segment, 6)
    End If
Next i
End Sub

关于excel - 使用VBA将if语句应用于单元格范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37142200/

10-13 00:32