都是用字典,但我是菜鸟,不太懂。vba代码是执行正确的,代码如下:
Sub CommandButton3_Click()
Set dica = CreateObject("Scripting.Dictionary")
With Worksheets("样表二")
For i = 2 To 99
If .Cells(i, 24).Value > 0 Then
dica(.Cells帮忙看下这段python代码为什么执行不如预期,vba代码是正确的能达到我想要的效果(i, 24).Value) = i
dica(k + 1) = i
k = .Cells(i, 24).Value
Else
End If
Next
End With
Set dicb = CreateObject("Scripting.Dictionary")
For i = 2 To 999
If Cells(i, 24).Value > 0 Then dicb(Cells(i, 24).Value) = i
Next
Dim arr
For i = 57 To 1 Step -1
If dica(i + 1) - dica(i) > 1 And dica(i) > 0 Then
arr = Sheets("样表二").Cells(dica(i) + 1, 1).Resize(dica(i + 1) - dica(i) - 1, 14)
Sheets("空表").Rows(dicb(i) + 1).Resize(dica(i + 1) - dica(i) - 1).Insert (3)
Sheets("空表").Cells(dicb(i) + 1, 1).Resize(dica(i + 1) - dica(i) - 1, 14) = arr
End If
Next
End Sub
详见附件https://f.ws59.cn/f/ctr5moujxfd 复制链接到浏览器打开,我的python代码在chenggong.py,各位大大帮忙看看修改正确