使用Excel VBA循环行以设置递增计数器
“必需”字段是需要填充的字段使用Excel VBA循环行以设置递增计数器,vba,excel,Vba,Excel,“必需”字段是需要填充的字段 对于每个唯一的序列“必需”编号,仅当星号为“*”时才递增1。在VBA中 这就是它应该看起来的样子 将此公式粘贴到要填充的列中。如果你在意的话,你可以稍微调整它来隐藏零 =COUNTIFS($A$2:A2,A2,$C$2:C2,"*") 请注意该公式中的硬引用与相对引用,并确保您的条目与它们对齐。将此公式粘贴到您尝试填充的列中。如果你在意的话,你可以稍微调整它来隐藏零 =COUNTIFS($A$2:A2,A2,$C$2:C2,"*") 请注意该公式中的硬引用
- 对于每个唯一的序列“必需”编号,仅当星号为“*”时才递增1。在VBA中
将此公式粘贴到要填充的列中。如果你在意的话,你可以稍微调整它来隐藏零
=COUNTIFS($A$2:A2,A2,$C$2:C2,"*")
请注意该公式中的硬引用与相对引用,并确保您的条目与它们对齐。将此公式粘贴到您尝试填充的列中。如果你在意的话,你可以稍微调整它来隐藏零
=COUNTIFS($A$2:A2,A2,$C$2:C2,"*")
请注意该公式中的硬引用与相对引用,并确保您的条目与它们对齐。将此公式粘贴到您尝试填充的列中。如果你在意的话,你可以稍微调整它来隐藏零
=COUNTIFS($A$2:A2,A2,$C$2:C2,"*")
请注意该公式中的硬引用与相对引用,并确保您的条目与它们对齐。将此公式粘贴到您尝试填充的列中。如果你在意的话,你可以稍微调整它来隐藏零
=COUNTIFS($A$2:A2,A2,$C$2:C2,"*")
请注意该公式中的硬引用与相对引用,并确保您的条目与它们对齐。请尝试此方法
Sub increment()
Dim prevalue As String
Dim curvalue As String
Dim lstrow As Long, i As Long, j As Integer
lstrow = Range("A" & Sheets("Sheet1").Rows.Count).End(xlUp).Row
j = 0
For i = 2 To lstrow
curvalue = Range("A" & i).Value
If curvalue = prevalue And Range("A" & i).Offset(0, 2).Value = "*" Then
j = j + 1
Range("A" & i).Offset(0, 1).Value = j
ElseIf curvalue <> prevalue And Range("A" & i).Offset(0, 2).Value = "*" Then
j = 1
Range("A" & i).Offset(0, 1).Value = j
End If
prevalue = curvalue
Next i
End Sub
子增量()
作为字符串的Dim prevalue
作为字符串的暗淡曲线值
Dim lstrow为长,i为长,j为整数
lstrow=范围(“A”和图纸(“Sheet1”).Rows.Count).结束(xlUp).行
j=0
对于i=2到L行
曲线值=范围(“A”和i)。值
如果CurveValue=prevalue和Range(“A”&i).Offset(0,2).Value=“*”则
j=j+1
范围(“A”和i).偏移量(0,1).值=j
ElseIf curvalue prevalue和Range(“A”&i).Offset(0,2).Value=“*”然后
j=1
范围(“A”和i).偏移量(0,1).值=j
如果结束
前值=曲线值
接下来我
端接头
请试试这个
Sub increment()
Dim prevalue As String
Dim curvalue As String
Dim lstrow As Long, i As Long, j As Integer
lstrow = Range("A" & Sheets("Sheet1").Rows.Count).End(xlUp).Row
j = 0
For i = 2 To lstrow
curvalue = Range("A" & i).Value
If curvalue = prevalue And Range("A" & i).Offset(0, 2).Value = "*" Then
j = j + 1
Range("A" & i).Offset(0, 1).Value = j
ElseIf curvalue <> prevalue And Range("A" & i).Offset(0, 2).Value = "*" Then
j = 1
Range("A" & i).Offset(0, 1).Value = j
End If
prevalue = curvalue
Next i
End Sub
子增量()
作为字符串的Dim prevalue
作为字符串的暗淡曲线值
Dim lstrow为长,i为长,j为整数
lstrow=范围(“A”和图纸(“Sheet1”).Rows.Count).结束(xlUp).行
j=0
对于i=2到L行
曲线值=范围(“A”和i)。值
如果CurveValue=prevalue和Range(“A”&i).Offset(0,2).Value=“*”则
j=j+1
范围(“A”和i).偏移量(0,1).值=j
ElseIf curvalue prevalue和Range(“A”&i).Offset(0,2).Value=“*”然后
j=1
范围(“A”和i).偏移量(0,1).值=j
如果结束
前值=曲线值
接下来我
端接头
请试试这个
Sub increment()
Dim prevalue As String
Dim curvalue As String
Dim lstrow As Long, i As Long, j As Integer
lstrow = Range("A" & Sheets("Sheet1").Rows.Count).End(xlUp).Row
j = 0
For i = 2 To lstrow
curvalue = Range("A" & i).Value
If curvalue = prevalue And Range("A" & i).Offset(0, 2).Value = "*" Then
j = j + 1
Range("A" & i).Offset(0, 1).Value = j
ElseIf curvalue <> prevalue And Range("A" & i).Offset(0, 2).Value = "*" Then
j = 1
Range("A" & i).Offset(0, 1).Value = j
End If
prevalue = curvalue
Next i
End Sub
子增量()
作为字符串的Dim prevalue
作为字符串的暗淡曲线值
Dim lstrow为长,i为长,j为整数
lstrow=范围(“A”和图纸(“Sheet1”).Rows.Count).结束(xlUp).行
j=0
对于i=2到L行
曲线值=范围(“A”和i)。值
如果CurveValue=prevalue和Range(“A”&i).Offset(0,2).Value=“*”则
j=j+1
范围(“A”和i).偏移量(0,1).值=j
ElseIf curvalue prevalue和Range(“A”&i).Offset(0,2).Value=“*”然后
j=1
范围(“A”和i).偏移量(0,1).值=j
如果结束
前值=曲线值
接下来我
端接头
请试试这个
Sub increment()
Dim prevalue As String
Dim curvalue As String
Dim lstrow As Long, i As Long, j As Integer
lstrow = Range("A" & Sheets("Sheet1").Rows.Count).End(xlUp).Row
j = 0
For i = 2 To lstrow
curvalue = Range("A" & i).Value
If curvalue = prevalue And Range("A" & i).Offset(0, 2).Value = "*" Then
j = j + 1
Range("A" & i).Offset(0, 1).Value = j
ElseIf curvalue <> prevalue And Range("A" & i).Offset(0, 2).Value = "*" Then
j = 1
Range("A" & i).Offset(0, 1).Value = j
End If
prevalue = curvalue
Next i
End Sub
子增量()
作为字符串的Dim prevalue
作为字符串的暗淡曲线值
Dim lstrow为长,i为长,j为整数
lstrow=范围(“A”和图纸(“Sheet1”).Rows.Count).结束(xlUp).行
j=0
对于i=2到L行
曲线值=范围(“A”和i)。值
如果CurveValue=prevalue和Range(“A”&i).Offset(0,2).Value=“*”则
j=j+1
范围(“A”和i).偏移量(0,1).值=j
ElseIf curvalue prevalue和Range(“A”&i).Offset(0,2).Value=“*”然后
j=1
范围(“A”和i).偏移量(0,1).值=j
如果结束
前值=曲线值
接下来我
端接头
我认为您不需要VBA来完成此操作。我想你可以用COUNTIFS()
公式来完成。你能说清楚一点吗?您在某些值上增加了数字,但没有“*”。我认为您不需要VBA。我想你可以用COUNTIFS()
公式来完成。你能说清楚一点吗?您在某些值上增加了数字,但没有“*”。我认为您不需要VBA。我想你可以用COUNTIFS()
公式来完成。你能说清楚一点吗?您在某些值上增加了数字,但没有“*”。我认为您不需要VBA。我想你可以用COUNTIFS()
公式来完成。你能说清楚一点吗?您在一些值上增加了数字,但没有“*”。非常感谢Nitish。这段代码对我学习如何做prevalue Offset之类的事情非常有用,我不确定它是如何完成的。非常感谢,感谢Nitish这段代码对我来说非常有用,我不知道如何做prevalue Offset。非常感谢Nitish这段代码对我学习如何做prevalue Offset非常有用,我不知道它是如何做的。非常感谢,感谢Nitish,这段代码对我学习如何做prevalue Offset之类的事情非常有用,我不确定它是如何完成的。