Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2183|回复: 2

[已解决]求助-一个表单的数据录入后,如何根据条件进行相应处理?

[复制链接]
发表于 2012-1-12 23:01 | 显示全部楼层 |阅读模式
我有几张表格,在“录入表格”里输入金额后,能自动根据以下条件进行处理,条件是该金额+当月实际已发生的费用如果小于预算,就用该金额+当月实际已发生的费用的和更新对应部门表单里的当月实际费用。如果超过预算,就提示超过预算并不更新数据。
比如:
当财务部的用户在F4单元格录入1月差旅费金额500元时,财务部的差旅费1月预算是2000元(单元格O7),这次发生金额500元加上1月实际发生费用300<2000,在预算内,就将500+300=800元就更新到财务部表单的1月实际费用(单元格C7)。
但如果累计金额超过预算,就弹出对话框提示费用超预算并不更新数据。

请帮忙各位高手看看该如何写这个程序?谢谢!
样表.zip (7.36 KB, 下载次数: 5)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-1-13 10:21 | 显示全部楼层    本楼为最佳答案   
本帖最后由 sunjing-zxl 于 2012-1-13 10:22 编辑

  1. Sub aa()
  2.     Dim arr1, arr2, arr3
  3.     Dim i As Long, j As Long, n As Long
  4.     Dim bm As String
  5.     arr1 = Range("A4:F" & [A65536].End(xlUp).Row)
  6.     n = Month(Cells(1, 2))
  7.     For i = 1 To UBound(arr1)
  8.         If arr1(i, 3) = "" Then
  9.             Exit For
  10.         Else
  11.             bm = arr1(i, 3)
  12.             With Sheets(bm)
  13.                 arr2 = .Range(.Cells(3, 1), .Cells(.[A65536].End(xlUp).Row, 14))
  14.                 arr3 = .Range(.Cells(3, 15), .Cells(.[A65536].End(xlUp).Row, 26))
  15.             End With
  16.         End If
  17.         For j = 1 To UBound(arr2)
  18.             If arr1(i, 1) = arr2(j, 1) Then
  19.                 If arr2(j, n + 2) + arr1(i, 6) > arr3(j, n) Then
  20.                     MsgBox arr1(i, 3) & arr1(i, 1) & "费用超预算并不更新数据"
  21.                 Else
  22.                     Sheets(bm).Cells(j + 2, n + 2) = arr2(j, n + 2) + arr1(i, 6)
  23.                      MsgBox arr1(i, 3) & arr1(i, 1) & "费用更新至" & arr2(j, n + 2) + arr1(i, 6)
  24.                 End If
  25.                 Exit For
  26.             End If
  27.         Next j
  28.     Next i
  29.     MsgBox "数据更新完成"
  30. End Sub
复制代码
附件: 样表-sunjing.rar (13.64 KB, 下载次数: 22)
回复

使用道具 举报

 楼主| 发表于 2012-1-13 10:45 | 显示全部楼层
谢谢Sunjing,能实现我想要的功能。再次感谢!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-8 19:03 , Processed in 0.380906 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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