【发布时间】:2017-12-06 14:43:56
【问题描述】:
我有这个问题需要解决。也就是说,我需要将相同值放在范围内的代码,直到相应的单元格值增加一。一旦完成,该值需要增加 0.2 并放置递增的数字,直到相应的单元格值再次高出 1
Sub Button4_Click()
range1 = Sheets(3).Range("g2").End(xlDown).Row
range2 = "g2:g" & range1
For i = 2 To range1
If Cells(i, 7).Value <= 360 Then
Cells(i, 8) = 60
range3_n = Cells(i, 8).Row
End If
Next
j = 0.2
k = 1
For i = range3_n To range1
If Cells(i, 7) > 360 And Cells(i, 7) <= (360 + k) And Cells(i, 7) <= (360 +
100) Then
Cells(i, 8) = 60 + (k * j)
k = k + 1
End If
Next
MsgBox ("END")
End Sub
【问题讨论】:
-
根据您的代码,我不完全了解您要完成的工作。所以也许你可以帮助我理解:1)你有一个范围
G2:G[lastrow],带有随机值。您能解释一下这些值是什么吗 2)然后检查所有这些值,如果它们符合您的条件,则将 H 列设置为等于 60(每个单元格)。你在这里没有做任何递增1,你只是设置一个60的固定值。你试图设置为+1的范围是什么,之前的值是多少。一旦它们为 +1,您就需要将 .2 添加到这些相同的值?所以现在是 60.2? -
1)
G2:G[lastrow]包含以分钟为单位的时间。 2) 代码的第一部分填充值为 60(温度)的单元格,直到达到 360 分钟的时间。然后我需要代码每分钟将值 60 增加 0.2,直到第 460 分钟。因此,对于包含 360-361 之间的所有值的范围,代码应填写 60.2 的值。对于 361-362,值为 60.4,依此类推。 -
我在单元格 G2 到 G461 中输入了 1 到 460 的数字,它似乎完全按照您的要求工作。我运行了宏,它一直向下放置 60。然后从 G361(值 361)到 G460(值 460),每个单元格的值增加 0.2,直到 80。i.stack.imgur.com/sijWG.pngi.stack.imgur.com/LlfbC.png 链接是我拍摄的两个屏幕截图。这些是你想要达到的结果吗?如果没有,您能否解释一下您已经实现的 .2 增量有什么不正确之处?
-
问题在于,只有当分钟数是每行加一的整数时才有效。我的数据是小数:ibb.co/bwN42v
-
好吧,再问一个问题:
360.0,360.1,360.2,360.3,etc.,值应该保持在 60。然后在361.0,361.1,361.2,etc.,值应该保持60.2?所以您仅希望在G2:G[lastrow]中的值增加一个整数时发生 .2 增量?