问题1,A列数据只有1行,保存到数组的数据只有2行:A1:AC2。
问题2:T列数据在org(e, 20),不是org(e, 19)。
问题3:Select Case后面的表达式写错了,见如下修改:
- If Not dd.exists(org(e, 20)) Then
- dd.Add org(e, 20), e
- no = no + 1
-
- Select Case org(e, 20)
- Case Is = ""
- cont(no, 1) = org(e, 2)
- cont(no, 2) = org(e, 3)
- cont(no, 3) = org(e, 19)
- cont(no, 4) = org(e, 23)
- cont(no, 5) = org(e, 29)
-
- Case Is <> ""
- cont(no, 1) = org(e, 2)
- cont(no, 2) = "P" & Left(Sheet1.Range("t" & e + 1), 6)
- cont(no, 3) = Application.WorksheetFunction.SumIfs(Sheet1.Range("s:s"), Sheet1.Range("t:t"), Sheet1.Range("t" & e + 1))
- cont(no, 4) = org(e, 23)
- cont(no, 5) = org(e, 29)
- End Select
- End If
复制代码 Select Case 这段代码用IF语句更合适:
If org(e, 20) = "" Then
cont(no, 2) = org(e, 3)
cont(no, 3) = org(e, 19)
Else
cont(no, 2) = "P" & Left(org(e + 1, 20), 6)
cont(no, 3) = Application.WorksheetFunction.SumIfs(Sheet1.Range("s:s"), Sheet1.Range("t:t"), Sheet1.Range("t" & e + 1))
End If
cont(no, 1) = org(e, 2)
cont(no, 4) = org(e, 23)
cont(no, 5) = org(e, 29)
|