Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: mengdie101

[已解决]麻烦大家帮忙看一下这段代码有什么错误

[复制链接]
 楼主| 发表于 2013-3-17 10:36 | 显示全部楼层
1032446692 发表于 2013-3-17 10:23
我也觉的   乱七八糟的  都不知道他想干嘛

不好意思,老师,就是想做一个应付款的明细账,用公式做了,每次输入信息都要计算单元格,想用VBA做一个,还不是很懂,结果弄得乱七八糟{:241:}
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

发表于 2013-3-17 10:37 | 显示全部楼层
本帖最后由 hwc2ycy 于 2013-3-17 10:39 编辑

复件 其他应付款.rar (31.17 KB, 下载次数: 7)
回复

使用道具 举报

 楼主| 发表于 2013-3-17 10:40 | 显示全部楼层
hwc2ycy 发表于 2013-3-17 10:35
平贷的关系我不懂,你给说说。

一般是期初余额在贷方,本行余额=上行余额+本行贷方-本行借方,如果为0则不显示,借贷显示为平
回复

使用道具 举报

发表于 2013-3-17 10:59 | 显示全部楼层
你把我改的代码生成的数据补上剩下的我看看吧。
回复

使用道具 举报

 楼主| 发表于 2013-3-17 11:11 | 显示全部楼层
hwc2ycy 发表于 2013-3-17 10:59
你把我改的代码生成的数据补上剩下的我看看吧。

好的老师,就是如果查询当前名字没有数据的情况下,再点击J1单元格选择其他名字时还会提示一次没有数据,能不能把这一次的提示去掉
回复

使用道具 举报

发表于 2013-3-17 11:16 | 显示全部楼层
双击sheet3(明细账簿),找到
  1. Call 明细账_生成
复制代码
直接把这行注释掉吧。

QQ截图20130317111553.jpg
回复

使用道具 举报

 楼主| 发表于 2013-3-17 11:21 | 显示全部楼层
hwc2ycy 发表于 2013-3-17 11:16
双击sheet3(明细账簿),找到直接把这行注释掉吧。

原来在这里,是我的错,已去掉
回复

使用道具 举报

发表于 2013-3-17 12:06 | 显示全部楼层
  1. Sub 明细账_生成()
  2.     Dim arr
  3.     With Worksheets("凭证录入")
  4.         arr = .Range("a1").CurrentRegion
  5.     End With

  6.     Dim Km$
  7.     Km = [j1]
  8.     If Len(Km) = 0 Then MsgBox "请在J1选择要查询的姓名": Exit Sub

  9.     Dim i As Long, YuE As Double
  10.     Dim arrPos1, arrPos2, arr2(), k&
  11.     ReDim arr2(1 To UBound(arr) - 1, 1 To 9)
  12.     arrPos1 = Array(3, 4, 5, 6, 7, 8, 9)
  13.     arrPos2 = Array(1, 2, 3, 4, 5, 6, 7)
  14.     For i = 3 To UBound(arr)
  15.         If arr(i, 2) Like Km Then
  16.             k = k + 1
  17.             For j = LBound(arrPos1) To UBound(arrPos1)
  18.                 arr2(k, arrPos2(j)) = arr(i, arrPos1(j))
  19.             Next
  20.             YuE = YuE + Val(arr2(k, 7)) - Val(arr2(k, 6))
  21.             arr2(k, 9) = YuE
  22.             Select Case YuE
  23.                 Case Is = 0: arr2(k, 8) = "平"
  24.                 Case Is > 0: arr2(k, 8) = "贷"
  25.                 Case Is < 0: arr2(k, 8) = "借"
  26.             End Select
  27.             
  28.         End If
  29.     Next
  30.     If k > 0 Then
  31.         Range("b4").Resize(k, 9) = arr2
  32.     Else
  33.         MsgBox "无符合条件的数据"
  34.     End If
  35. End Sub
复制代码
你看余额和借贷关系是不是对的。
回复

使用道具 举报

发表于 2013-3-17 12:08 | 显示全部楼层
复件 其他应付款.rar (31.35 KB, 下载次数: 7)
回复

使用道具 举报

 楼主| 发表于 2013-3-17 12:38 | 显示全部楼层
hwc2ycy 发表于 2013-3-17 12:08

谢谢老师,余额为借时也显示为正数,余额为0时不显示,我改成这样,对吗
  1.             YuE = YuE + Val(arr2(k, 7)) - Val(arr2(k, 6))
  2.             Select Case YuE
  3.                 Case Is = 0: arr2(k, 8) = "平": arr2(k, 9) = ""
  4.                 Case Is > 0: arr2(k, 8) = "贷": arr2(k, 9) = YuE
  5.                 Case Is < 0: arr2(k, 8) = "借": arr2(k, 9) = Abs(YuE)
  6.             End Select
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-1 02:37 , Processed in 0.314626 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表