本帖最后由 yjm0809 于 2018-7-31 16:46 编辑
各位大侠,本人工作中需被填写示例表格的K、L列,要求如下:
编程要求:
如果每个TB表项目的第一行I列、J列等于该项目其他行列、J列之和,该项目的K列、L列合并单元格,显示“审计标识:∧、<、B、G、S、T/B;”,否则显示“科目总账、明细账金额不一致”;
如果每个TB表项目的第一行E列、F列、G列、H列有一列不为0,L列合并单元格显示“经审计调整,余额或发生额可以确认。”,否则显示“未经审计调整,余额或发生额可以确认。”
我编写了下列程序,感觉逻辑关系正确,但 Cells(i + 7, 11) = "审计标识:填列不能显示数据,请大侠指教,谢谢
Sub test()
Application.ScreenUpdating = False: Application.DisplayAlerts = False
Dim arr
Sheets("sheet1").Activate
arr = Range("a8:l" & Cells(Rows.Count, 1).End(3).Row)
For i = 1 To UBound(arr) - 7
j = 0
If (arr(i, 2) = arr(i + 1, 2)) Then
j = j + 1
ElseIf (arr(i, 2) <> arr(i + 1, 2)) Then
r = arr(i - j, 9) * 1
r1 = arr(i - j, 10) * 1
For i1 = 1 To j
r = r - arr(i - j + i1, 9) * 1
r1 = r1 - arr(i - j + i1, 10) * 1
If (r = 0 And r1 = 0) Then
Cells(i + 7, 11) = "审计标识:"
Else
Cells(i + 7, 11) = "科目总账、明细账金额不一致?"
End If
Next
End If
Next
ActiveWorkbook.Save
Application.ScreenUpdating = True: Application.DisplayAlerts = True
End Sub
|