资源描述:
《excel宏可帮你缴纳印花税》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、EXCEL宏可帮你缴纳印花税由于公司合同较多,每次缴印花税时,计算每份印花税所需要的各面额印花的张数是一件比较繁琐的事。如:这份合同需要缴纳23元的印花税则需要买两张10元、一张2元、一张1元面额的印花。幸好有Excel这个财会人员的得力工具,我编写了一段宏代码来自动帮我计算各面额印花的张数,既快捷又方便。想到还有很多同行要做这项工作,所以写下来与大家共享。具体操作如下: 新建一个Excel文件存为stampduty.xls,进入宏编辑器(Alt+F11)在ThisWorkbook中加入以下代码:'印花税各面额印花张数计算程序BY-RAYDENG'用途:已知印花税额,计算各面额印花张
2、数'使用方法:做好工具条后,只要选择要计算的原始数据,点击"印花税面额计算"工具条即可.'(请不要选择全列,否则无效的计算太多.)'Substamp_duty()StaticflagcalAsInteger'计算标志,首次计算时清空计算结果页,否则在结果页追加计算结果StaticrowbegainAsInteger'计算结果页上可用行号,计算结果追加时从这里开始DimfilenameAsString'打开的需要计算数据的文件名Dimmoneytype(7)AsSingle'定义面额DimmoneyAsSingleDimbillnoAsInteger'票额张数filename=Activ
3、eWorkbook.Name'记录当前打开的文件名Iffilename=VBAProject.ThisWorkbook.NameThen'不要在自身这个文件中操作MsgBox"请选择其它文件中的数据!",vbInformation+vbOKOnlyExitSubEndIfApplication.ScreenUpdating=False'将屏幕更新关闭,可加快宏的运行速度billno=0'计数清0moneytype(0)=100'印花税面额为0.5-100,以0.5为舍入标准moneytype(1)=50moneytype(2)=10moneytype(3)=5moneytype(4)=
4、2moneytype(5)=1moneytype(6)=0.5VBAProject.ThisWorkbook.Sheets(1).Activate'打开结果页Ifflagcal=0Then'如果为第一次计算,则清空结果页EXCEL宏可帮你缴纳印花税2001-12-18··RayDeng··e企业频道/天极上一页 1234 下一页Cells.SelectSelection.ClearContentsRange("A1").SelectEndIfActiveSheet.Cells(1,1)="OriginDATA"'先写上表头Fori=0To6ActiveSheet.Cells(1,i+
5、2)=moneytype(i)NextiWorkbooks(filename).Activate'转到要计算的原始数据数据文件rowno=ActiveWindow.RangeSelection.Rows.Count'所选区域有几行rowstart=ActiveWindow.RangeSelection.Row'起始行colstart=ActiveWindow.RangeSelection.Column'起始列j=rowbegain'结果页中写结果的起始行Fori=1Torowno'开始读原始数据origindata=Cells(i+rowstart-1,colstart)'读原始数据'
6、广州印花税尾数处理方法:过0.5进1,不足舍去,刚好为0.5及其倍数则不变Iforigindata*100Mod50<>0Thenmoney=Round(origindata,0)'以0.5为界限作四舍五入Elsemoney=origindata'整数及尾数刚好为0.5不作处理EndIfVBAProject.ThisWorkbook.Sheets(1).Activate'转到结果页EXCEL宏可帮你缴纳印花税2001-12-18··RayDeng··e企业频道/天极上一页 1234 ActiveSheet.Cells(i+1+j,1)=origindata'在第一列写入原始数据Wor
7、kbooks(filename).Activate''转到要计算的原始数据数据文件Fork=0To6'循环计算各面额所需张数Whilemoney>=moneytype(k)money=money-moneytype(k)billno=billno+1WendVBAProject.ThisWorkbook.Sheets(1).ActivateActiveSheet.Cells(i+1+j,k+2)=billno'在相应位置写入该面额张数billn