ExcelVBA编程典型实例-调试销售统计表_第1页
ExcelVBA编程典型实例-调试销售统计表_第2页
ExcelVBA编程典型实例-调试销售统计表_第3页
ExcelVBA编程典型实例-调试销售统计表_第4页
ExcelVBA编程典型实例-调试销售统计表_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ExcelVBA编程典型实例——调试销售统计表销售统计表主要用于统计销售人员的销售额,可以对销售人员的业绩进行排名,及统计出销售人员的总数。下面在设计该销售统计表的过程中,出现了个别代码错误,用户通过对程序进行调试,最后得到一个销售统计表。销售统计表情2人处谛含人员怡售第怡竹人员玲岂据谛官北林小涛304SQQ国小左5134453夏湖理4J56H6东文丁班T菊变腼田0003夏空215H35要卜率2置那4^SR125+陷助挛曰T30QD母在相S6530D溟翠,45454ES密的率车讲4T500523W0王建老T%现自在536Ts2LZQQQDQ鼻由63M0础4KTT王永娇治1号尔割册加6575000林王玉舐网口桂晓光T&M24张哓坛上函抻梏辉器的。口昌庭历晚nQ兄见蜜3闰加4索了警即HIW馀d制30£3fiO布卜哥5fi5%7吴善隹T&335江港E音标书1支11S32DQ策汨M&59Q由清清T5STBQ郎褥56E3强辛仝华5iS7£IM击红凝45T4DOO施以恒45ST熊任粤音2TM7B日冏「冉193000王军摘WBW9Q目用TE79i]5王强04TB5QQ于用丽fiB40a»像男5杆囱U工廿百T43T9率也管57能即去imnw素常既整4中小强3B4晒强言鞅招汇总先折1捎岂额捧位id4tSTESTfiSH军兰77&M自小最546500升河相21^00王-J东67539石后也加两起郎的铠中海援§45SClD日彼刖烟。口1.练习要点运用控件调试程序2.操作步骤:(1)新建一张工作簿,重命名Sheetl标签名称为“统计表”。然后,在该工作表中,创建如图19-6所示的表格。'创建表格”销售统计i.2情官人员情包鬻俯苫人员希岂引镜命人13林对扁3^4200手小芬3434453夏椒更4£00000J.±江象曲至小翠5刘琼97即8孙至地0690W厚翠君6李杰律■iTSOKifl第小悻,2S45S3王程与7椅机1迎⑼厚於⑶。卬市总3副丽渊9570&30哥主主2印第算程晓亮g拚科辉213TIXI候5&9BQ0Q*皿欧10徐小国ssaaoo乔小瞥5曲晤7吴寿艳L1李明文115930D强江5莪88田清福12辛全生SlSnUfti吉红馥4B74D40张L1恒13周广相三亚科4七日的Q马段14和月审的白⑼倏自5S70.:Ci王希鬻图19-6创建表格(2)单击【控件】组中的【插入】下拉按钮,并单击【表单控件】栏中的【按钮(窗体)】按钮。然后,在工作表中,绘制该“按钮”控件,如图19-7所示。

■3rD E F e HK30Q|定境晃版浅434009wEx产学相立彻髯尾营fl,:441210“加•共:次工沿相江潜1;一而3TEQ郃漏567H43liT66&SW2%571sHL3I 广二TH#王矍D47BKU旧.i二「aarr™ij.-i. Jj1亭仙%?5T蚪■L5_金百EKE件:i蛇站空SMS!ffflJSSEJNffiffflWffflSWQ$技钿ih16■■.■底A(J.比i士曲口goJL3_U4-| Fl把附MShu.tlShait2rSbS8SOOxl绘制工图19-7绘制“按钮”控件(3)在弹出的【指定宏】对话框中,设置【宏名】为“销售数据汇总分析”;并单击【新建】按钮,如图19-7所示。Law皿击【新建】按钮,如图19-7所示。Law皿且胃叩肺st用毡gg湿嘀,时丁,匚W用二I图19-7指定宏(4)在弹出的【代码】编辑窗口中,输入如图19-8所示的代码。图19-8输入代码其中,输入的代码如下:PublicSub销售数据汇总分析()Dimi,jAsString'定义用于循环的整型变量DimtempAsInteger'定义用于记录销售人员数目的整型变量DimcountAsInteger'定义用于记录工作表的记录数的整型变量Dimvalue(59)AsDouble '定义用于记录销售额的双精度型数组DimTempMsgboxAsVbMsgBoxResult'定义一个消息对话框的返回值的类型count=Sheets("Sheet1").[A1].CurrentRegion.Rows.count'把工作表的记录数赋给countFori=1To8IfCells(2,i)="销售额"Then’判断列标志是不是“销售额”Forj=3TocountIfCells(j,i)<>""Then’判断单元格是否为空value(temp)=Cells(j,i)′用数组记录每个销售人员的销售额temp=temp+1'累加求和EndIfNextjEndIfTempMsgbox=MsgBox("目前共有"&temp&"个销售人员",vbOKOnly,"销售数据汇总分析")’将计算结果以对话框的形式输出MsgBox"其中共有"&WorksheetFunction.CountIf(Range("A2:H18"),">5000000")_&"人销售额大于5000000"&Chr(13)_&" 共有"&WorksheetFunction.CountIf(Range("A2:H18"),"<50000")_&"人销售额小于50000",vbOKOnly,”销售数据汇总分析"’在消息对话框中输出销售额的大概情况MsgBox"销售额冠军是"&WorksheetFunction.Large(value(),1)&"元人民币"_&Chr(13)&"销售额亚军是"&WorksheetFunction.Large(value(),2)&"元人民币"&Chr(13)&"销售额季军是"&WorksheetFunction.Large(value(),3)&"元人民币"&Chr(13)&"销售额最差的是"&WorksheetFunction.Min(value())&"元人民币"&Chr(13)&"平均销售额是"&WorksheetFunction.Average(value())&"元人民币",vbOKOnly,”销售数据汇总分析"’在消息对话框中输出销售额的汇总分析情况EndSub(5)单击【运行子过程/用户窗体】按钮口,即可弹出如图19-9所示的提示对话框。亚雾融闻6孙&周出 ,•哈■■(脸ttfl-*iwbsl-rti.FiiKdooI■框。亚雾融闻6孙&周出 ,•哈■■(脸ttfl-*iwbsl-rti.FiiKdooI■2■I _'干女ICCOKT4[far03;!kiFEkdLMgrtH如工,:皿tlf▼I|普詹莪需耙总◎新3由调布匹配|「雁」崎T提示:甘』1||:|■・向:£<LLiG,jj对量■t啊十]Uh中彳葛霁普:鼻蜜膈雷喋$翡畸口e Ae-■十•定交于七率的日曲机:懵式山西[11BTwj*i4*w” 6d&LHE-TlUJ■制都叨庭丽的二tCmTut■ Lt."5h+'4二:i. QfirarwM气LnBaalc・5<,tffTftffKiPAHE-wa=LIiE:IfJL在理小--WEST- ・柳班W不.■+|机5澳* Pu9=3E?ciwLHC+lLitj^i)OrtHTh-k.*]Bl£ii«04fvTidw&lEIajIc.HdB-理堪I〃专码>)图19-9类型不匹配(6)从上面的代码中,可以发现变量j的类型不匹配,用户可将第二行的定义变量,更改为“Dimi,jAsInteger”。(7)再次运行该程序,则弹出如图19-10所示的对话框。an目t,0眄限i.FsE博|冬1Lhr口箝an目t,0眄限i.FsE博|冬1Lhr口箝_!■!XrkiLF5cLi1的.i:c>uk三]|帽芯盅避汇宜电的面曲诬彻出 一 ,.用Ptfl匕录ITiWEAJWflaWPw|具,*iforialsiw啰曷r.fkOi世上*,vhl-iiH~CWLliCiji)人制曹七n1】舄11中VEnJ]£BilljEnd,IlTei"4"中」■ulwf午共均额对八.国电调上Pb看看Uhl|匚取™TiflVibl加式。¥Jff文/坛T总分新rl皿氯也I1代到1L口产图19-10没有Next语句(8)在【代码】编辑窗口中,添加“Nexti”语句,如图19-11所示。汇点卅#,不>-,制1t陋)1 L_回I凶TOC\o"1-5"\h\z阳sj 工附信地找礼三升甘 ~3Fwj=:3Tb<w*xntIlc.L]E(j.”心=n・n1解•云相事H两空 _iJ=C.3^:D.用蜘善H巾看*J、J1时+火g*®j±kv+i1EimcH ।i|五加1 -一J1:H …叫历ZUEETHul.hF中弁声’a*ih・・iF"£d皿=6《«出工假5.g,A2hiiTHV-mkmmT:*整审-^r/.讪-Hn”守-Eiiwm_喻,则于,(W『WWNy.-胸同BtlticZm), 一:I-二I二 ■图19-11添加代码(9)返回工作表,重命名控件按钮名称,并运用相同方法,绘制如图19-12所示的“控件”按钮。DEF GH一111“战1州田沛渊T/T战i和净5A7B12124DT40W聚CHE轨心TB6任awarenm1345的目照马刖T&79®王僵547B&0UNOB73DOi»r7<1379李山47STES1596394牛小品9&45E5L1677S944白小累54b5C>j珥西地恒洋号甘17G7BDB百!1怔5HBO1 3u_A...J*_ 1.1j1S姓国3白洪刖喀g1例也翻1成卜19kWi"V111MAWAMMWJM ■M4kMShiihlShBrt2Eb工,.*_I1a1-图19-12重命名控件(10)为“销售额排位”控件指定宏,并在【代码】编辑窗口中,输入如图19-13所示的代码。

输入-I■——-- 1输入-I■——-- 1输[^入J如■板Mimps ftffi斗片咫£«明良与 、£>』.Eui-mIuAj*iHn#uE口」L•正昌1十)夏为他晒缝目B的并兑a皿・的小2皿J5jfas事祥轴事件N»7・5,”二Ihjm』期\诙平KVJUfit~i小冗・・5总门■值抵・!®AWywraoas.-.-IffilWS-J.调出集[fFBrkLl>AiFlUlr^Li.ih1ulk«LiH「n・.O」Lr0Ih・&*tl£*中的■元井中■否息薜『界悄・理T■向「回=任[EZHfEqgutQOL-I'lTill*Hi,期HB<9=*t,・。a4m律5口”:上…%+阻啰/.此J1WJBmfe-tE.飒.1谡黄阡的4懦目我i1里的州耳脚所皆主!rfl造雨一十里元福船出苴”ElseItFfo-JuLiitfuuUu.Ixlobir'Eif.Ofka-iLA.1j.vilivlLLulTif/I喀-■L"g25工-FfiWEftW_i1-H->ahi-a'.F'Jic'.1■:■>Fiw>及■岸dfisrL⑪1)^slw,luifi£rA£:HIB"\'j•***!野F""'-]也看人fM«liiT#位后匕出ELca6”=力通・八饰由此持:小网口内,HEBStf':i,如坞中明邛叁峰元均『存他且元西-孙口不「日节倡息” .„|咖*」 」白回凶:.桁出蝇H底曲Ifiolna憎口?MtFH图19-13输入代码其中,输入的代码如下:PublicSub销售额排位()DimRagAsRange '定义一个鼠标事件返回值的类型DimTempMsgboxAsVbMsgBoxResult'定义一个消息对话框的返回值的类型SetRag=Application.Selection'为鼠标事件赋初值为应用程序的选择事件IfRag.value=""Then ’判断是否选中某个单元格TempMsgbox=MsgBox("请选择销售人员",vbOKOnly,"销售额排位")’弹出提示对话框日seIfWorksheetFunction.IsNumber(Rag.value)Then’判断选中的单元格中是否是数字,即销售额TempMsgbox=MsgBox(Rag.Offset(0,-1).value&"的销售额是第"—&WorksheetFunction.Rank(Rag.value,Range("A2:H18"),0)&"位",vbOKOnly,"销售额排位”)’如果选中的是销售额,则返回到销售额所在单元格的前一个单元格输出其销售人员日seIfWorksheetFunction.IsNumber(Rag.Offset(0,1).value)ThenTempMsgbox=MsgBox(Rag.value&"的销售额是第"—售统计排位后输出&WorksheetFunction.Rank(Rag.Offset(0,1).value,Range("A2:H18"),0)&"位,vbOKOnly,“销售额排位售统计排位后输出’如果选中的是销售人员,则将销售人员的销日seTempMsgbox=MsgBox("错误的选择,vbOKOnly,"销售额排位")’如果选中的是空的单元格,或其他单元格,则提示“错误信息”EndIfEndIfEndIfEndSub

(11)单击【销售数据汇总分析】按钮控件,即可弹出“销售数据汇总分析”对话框,如图19-14所示。HSHE#・理府光T&jtE4士通*的79876jR斯的修呆日惯任■青2765786王东蟒侬被昊事毡3C43&4T1M35*M营杠梏日34412窑担850H期。4574noeITg79C65470600

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论