Excel VBA减去具有相同标签的值
如果单元格有相同的数据包标签,我将做一些关于减去时间值的事情,假设我有如下数据:Excel VBA减去具有相同标签的值,vba,excel,Vba,Excel,如果单元格有相同的数据包标签,我将做一些关于减去时间值的事情,假设我有如下数据: | 1 | A | 01 | x | | 2 | B | 03 | x | | 3 | A | 05 | x | | 4 | C | 06 | x | | 5 | B | 09 |
| 1 | A | 01 | x |
| 2 | B | 03 | x |
| 3 | A | 05 | x |
| 4 | C | 06 | x |
| 5 | B | 09 | x |
| 6 | A | 11 | x |
值应该是这样的:
| 1 | A | 01 | 4 | >> Value of subtract time A1 from A3 5-1 = 4
| 2 | B | 03 | 6 | >> Value of subtract time B2 from A5 9-3 = 6
| 3 | A | 05 | 6 | >> Value of subtract time A3 from A6 11-5 = 6
| 4 | C | 06 | value |
| 5 | B | 09 | value |
| 6 | A | 11 | value |
我目前的代码是:
sub deltaip()
dim x as long
dim i as long
for i = 2 to rows.count
for x = 3 to rows.count
if cells(i,2).value = cells(x,2).value then cells(i,4) = cells(x,3).value-cells(i,3).value
next x
next i
End Sub
但是它被卡住了,我需要让X循环停止,每次它找到相同的值,做减法,然后继续下一个X。我还发现,在下一个i循环中,X不会从3重置,而是从上一个X值开始重置,有什么问题吗
有人能帮我吗?我对Excel上的VBA非常陌生,提前感谢您通过将更改为Do来完成,就像实际工作表上的代码一样:
Sub deltaip()
Dim x As Long
Dim i As Long
Dim n As Long
n = 3
x = 3
For i = 2 To 11
Do Until Cells(i, 3).Value = Cells(x, 3).Value
x = x + 1
If x > 12 Then Exit Do
Loop
If Cells(x, 2).Value - Cells(i, 2).Value > 0 Then
Cells(i, 8) = Cells(x, 2).Value - Cells(i, 2).Value
Else
Cells(i, 8) = ""
End If
n = n + 1
x = n
Next i
End Sub