我正在尝试设置一个代码,当单元格的值高于同一列中的前5个单元格中的每个单元格时,该代码会显示一条消息。
这是我的代码:
Sub IncreasingFor_5Steps()
Dim i, j As Integer
For i = 7 To 20
For j = 1 To 5
If Cells(i, 5).Value > Cells(i - j, 5).Value Then
Cells(i, 6) = "Increased for 5 steps"
End If
Next j
Next i
End Sub
当我运行此代码时,当单元格高于至少一个单元格(超过前5个单元格)时,会显示消息“增加5步”,但我想要的是仅在单元格高于前5个单元格时才显示该消息,但我不知道该怎么做。
例如在F7中显示消息,而E7低于E4,E20低于E19,但显示消息,因为E20高于E15,E16,E17,E18,但我不知道我想要:
答案 0 :(得分:1)
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="root">
<!-- This element's contents will be replaced with your component. -->
</div>
答案 1 :(得分:1)
尝试这样,你需要一个布尔标志来绕过它:
$orders = Bigcommerce::getOrders();
$orders_array = json_decode($orders, true);
echo $orders[0]['shipping_address']['first_name'];
布尔标志的想法是它检查所有5个单元格是否较小,如果其中一个不小,则它变为Sub IncreasingFor_5Steps()
Dim i As Integer, j As Integer
Dim flag As Boolean
For i = 7 To 20
flag = False
For j = 1 To 5
If Cells(i, 5).Value <= Cells(i - j, 5).Value Then
flag = True
End If
Next j
If Not flag Then Cells(i, 6) = "Increased for 5 steps"
Next i
End Sub
一旦它为真,true
不会增量。
答案 2 :(得分:1)
在VBA中这样做是否必要?将此公式放在F7中并向下拖动工作吗?
user.TrainingPlan[req.params.object].time.forEach(function(item, index, array)
{
console.log(user.TrainingPlan[req.params.object].time.toString() + ' xxx');
});
答案 3 :(得分:0)
如果您想使用 VBA ,可以使用WorksheetFunction.Max
获取特定范围内的最大值,从而无需拥有2个For
循环
Option Explicit
Sub IncreasingFor_5Steps()
Dim i As Long
For i = 7 To 20
' use WorkshettFunction Max instead of a 2nd loop
If Cells(i, 5).Value > WorksheetFunction.Max(Range(Cells(i - 5, 5), Cells(i - 1, 5))) Then
Cells(i, 6) = "Increased for 5 steps"
End If
Next i
End Sub