|
自己做了个借款、欠款查询表,从借款数据和还款数据中分别取得数据生成两个字典
然后把两个字典合并,输出在欠款汇总表中,可是考虑如果借款数据和还款数据都有可能为空,做了个循环判断,感觉自己的写法比较臃肿,特来求助
- '以下判断是否借款数据或还款数据为空
- '如果借款数据及还款数据都为空,则退出程序
- If d_payback.Count = 0 And d_borrow.Count = 0 Then
- MsgBox "没有找到数据,请检查": Exit Sub
-
- '如果借款数据为空,则只取还款字典中数据写入字典d_all
- ElseIf d_borrow.Count = 0 Then
- For Each dd In d_payback.keys
- d_all(dd) = "0" & "/" & d_payback(dd) & "/" & -d_payback(dd)
- Next dd
-
- '如果还款数据为空,则只取借款字典中数据写入字典d_all
- ElseIf d_payback.Count = 0 Then
- For Each dd In d_borrow.keys
- d_all(dd) = d_borrow(dd) & "/" & "0" & "/" & d_borrow(dd)
- Next dd
- '如果借款、还款数据都不为空,则将还款字典与借款字典合并写入字典d_all
- Else
- For Each dd In d_payback.keys
- If d_borrow.exists(dd) Then
- d_all(dd) = d_borrow(dd) & "/" & d_payback(dd) & "/" & d_borrow(dd) - d_payback(dd)
- Else
- d_all(dd) = "0" & "/" & d_payback(dd) & "/" & -d_payback(dd)
- End If
- Next dd
- End If
- '将数据写入表格,并分列,再按拼音排序
- [a3].Resize(d_all.Count, 1) = WorksheetFunction.Transpose(d_all.keys)
- [c3].Resize(d_all.Count, 1) = WorksheetFunction.Transpose(d_all.items)
复制代码 代码如上,附件已上传。
|
|