VBA动态范围与值计算

时间:2016-04-01 14:20:05

标签: excel vba

您好我有以下问题:

正如你在A栏中看到的,我们有Dates,在B栏中总是有一个" 1"当一年从一个变为另一个时,我将其标记为黄色。在列H中是不同的值,在列I中,我希望只有FIRST值,在一年内(在这种情况下)大于10%(因此在B列中从1到1的时间段内)。之后我希望得到下一个第一个值,明年将是> 10%,所以下一个时期是B列中的1到1,依此类推。

任何人都可以帮助我吗?

到目前为止,我对此进行了编程,但它显示了所有值> 10%,但不是从每个范围到每个范围的第一个值。

Sub ABC ()
With ThisWorkbook.Worksheets("Test")
rowCount = 2
    Do While .Cells(rowCount + 1, 8).Value <> ""

    If .Cells(rowCount, 2).Value = 0 And .Cells(rowCount, 8).Value >= 0.1 Then

       .Cells(rowCount, 9).Value = .Cells(rowCount, 7).Value * 0.1 / 1.1
    Else
       .Cells(rowCount, 9).Value = ""
    End If
    rowCount = rowCount + 1

Loop

End With
End Sub

image

1 个答案:

答案 0 :(得分:0)

似乎代码在单元格地址上是错误的

Sub ABC ()
With ThisWorkbook.Worksheets("Test")
rowCount = 2
    Do While .Cells(rowCount + 1, 8).Value <> ""

    If .Cells(rowCount, 2).Value = 0 And .Cells(rowCount, 8).Value >= 0.1 Then

       .Cells(rowCount, 9).Value = .Cells(rowCount, 8).Value * 0.1 / 1.1
    Else
       .Cells(rowCount, 9).Value = ""
    End If
    rowCount = rowCount + 1

Loop

End With
End Sub