《EXCEL宏可帮你缴纳印花税教学内容.doc》由会员分享,可在线阅读,更多相关《EXCEL宏可帮你缴纳印花税教学内容.doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Good is good, but better carries it.精益求精,善益求善。EXCEL宏可帮你缴纳印花税-EXCEL宏可帮你缴纳印花税由于公司合同较多,每次缴印花税时,计算每份印花税所需要的各面额印花的张数是一件比较繁琐的事。如:这份合同需要缴纳23元的印花税则需要买两张10元、一张2元、一张1元面额的印花。幸好有Excel这个财会人员的得力工具,我编写了一段宏代码来自动帮我计算各面额印花的张数,既快捷又方便。想到还有很多同行要做这项工作,所以写下来与大家共享。具体操作如下:新建一个Excel文件存为stampduty.xls,进入宏编辑器(Alt+F11)在ThisWorkb
2、ook中加入以下代码:印花税各面额印花张数计算程序BY-RAYDENG用途:已知印花税额,计算各面额印花张数使用方法:做好工具条后,只要选择要计算的原始数据,点击印花税面额计算工具条即可.(请不要选择全列,否则无效的计算太多.)Substamp_duty()StaticflagcalAsInteger计算标志,首次计算时清空计算结果页,否则在结果页追加计算结果StaticrowbegainAsInteger计算结果页上可用行号,计算结果追加时从这里开始DimfilenameAsString打开的需要计算数据的文件名Dimmoneytype(7)AsSingle定义面额DimmoneyAsSin
3、gleDimbillnoAsInteger票额张数filename=ActiveWorkbook.Name记录当前打开的文件名Iffilename=VBAProject.ThisWorkbook.NameThen不要在自身这个文件中操作MsgBox请选择其它文件中的数据!,vbInformation+vbOKOnlyExitSubEndIfApplication.ScreenUpdating=False将屏幕更新关闭,可加快宏的运行速度billno=0计数清0moneytype(0)=100印花税面额为0.5-100,以0.5为舍入标准moneytype(1)=50moneytype(2)=1
4、0moneytype(3)=5moneytype(4)=2moneytype(5)=1moneytype(6)=0.5VBAProject.ThisWorkbook.Sheets(1).Activate打开结果页Ifflagcal=0Then如果为第一次计算,则清空结果页EXCEL宏可帮你缴纳印花税2001-12-18RayDenge企业频道/天极上一页1234下一页Cells.SelectSelection.ClearContentsRange(A1).SelectEndIfActiveSheet.Cells(1,1)=OriginDATA先写上表头Fori=0To6ActiveSheet.
5、Cells(1,i+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*100Mod500Thenmoney=Round(origindata,0)以0.5为界限作四舍五入Elsemoney=origindata整数及尾数刚好为0.5不作处理EndIfVBAProject.ThisWorkbook.Sheets(1).Activate转到结果页EXCEL宏可帮你缴纳印花税2001-12-18RayDenge企业频道/天极上一页1234ActiveSheet.Cells(i+1+j,1)=origindata在第一列写入原始数据Workbooks(filename).Ac
7、tivate转到要计算的原始数据数据文件Fork=0To6循环计算各面额所需张数Whilemoney=moneytype(k)money=money-moneytype(k)billno=billno+1WendVBAProject.ThisWorkbook.Sheets(1).ActivateActiveSheet.Cells(i+1+j,k+2)=billno在相应位置写入该面额张数billno=0清0准备计算下一面额Workbooks(filename).ActivateNextkrowbegain=rowbegain+1结果页中写结果的起始行下移一行Nextiflagcal=flagc
8、al+1计算次数累加rowbegain=rowbegain+1添加一空行区分不同次数的结果Application.ScreenUpdating=True恢复屏幕刷新VBAProject.ThisWorkbook.Sheets(1).Activate打开结果页EndSub编好后存盘,退出宏编辑器。开始构建一个工具栏:工具自定义,点击工具栏-新建,工具栏名称定为“印花税”,这时会出现,点击命令,将“命令”列表中任意图标拖动到这个工具栏中,在刚拖过来的图标上点右键,选择命名,将其改为“印花税面额计算”,选择总是只用文字,这时会出现,在“印花税面额计算”上点一次右键,选择指定宏,选择“ThisWorkbook.stamp_duty”,点确定即可。以后要计算时,只要选好原始数据,点击该工具栏即可。-