基于VBA城市商品房价格统计系统设计.docVIP

基于VBA城市商品房价格统计系统设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于VBA城市商品房价格统计系统设计

基于VBA城市商品房价格统计系统设计   作者简介作者简介:杨健(1971-),男,博士,中国人民解放军海军大连舰艇学院基础部副教授,研究方向为软件工程。0引言   商品房价格统计是房地产价格统计调查工作中的一个重要环节,是国民经济核算和国家实施房地产市场调控的基础。在商品房价格统计系统中,房产交易数据从数据库中提取出来汇总在一个Excel表中,然后利用Excel所提供的排序和函数功能进行整理,目前这些工作采用大量的手工操作,工作效率不高。   VBA(Visual Basic For Applications)是微软开发出来的在Office办公软件中执行通用自动化的编程语言,用户可以根据需要自定义解决方案[1,2]。本文在商品房价格统计系统功能分析基础上,利用Excel的可编程对象,进行基于VBA的二次开发,对Excel中的商品房价格数据进行快速处理,方法简单高效。   1VBA对象模型及系统功能分析   1.1VBA及Excel对象模型   VBA继承VB的开发机制,同时语言结构和集成开发环境也相似,提供了面向对象的程序设计方法。因此,在应用Excel的VBA进行软件开发过程中,充分利用Excel的对象模型是提高研发效率的基础。在Excel中,Application、Workbook、Worksheet、Range这4个类以及成员是Excel对象的核心部分,通过它们可以对应用程序及工作簿、单元格等进行存取等操作[3,4]。在编程过程中,除了采用VB语言所提供的基本数据定义方式和集合等数据定义方式外,也可以采用其它的数据存储方式,如字典(Dictionary)对象,这是一种重要的联合数组,利用这一对象可将计算的中间数据存储到内存中,从而提高运算效率。   1.2系统功能   统计部门对数据库中提取出的城市商品房价格数据进行统计分析时,主要包括查询、排序、筛选以及对比分析等操作。从目前的实际情况来看,数据库中价格数据转到Excel软件后,主要利用Excel自带的排序、筛选、函数等进行操作处理,手工操作较多,特别是进行筛选处理等任务时不能完全满足特定的需求,费时费力,这些任务需要进行适当的程序设计以满足要求,提高效率。   本系统的功能主要基于统计部门对城市商品房价格的统计工作,包括查询、排序、筛选、输出等4个功能模块,如图1所示。系统运行环境为:Windows XP以上操作系统,安装微软的Excel软件,利用Excel中的VBA技术对上述功能进行设计和编程。下面以核心的筛选模块为例,阐述其关键实现过程。   图1房价统计系统功能框架   2系统功能实现   2.1筛选模块流程   从系统功能角度来看,统计系统的4个模块中筛选模块是核心模块,对计算的效率要求较高,本文重点给出该模块的流程和实现。根据任务要求,该模块的功能主要是对市内各销售楼盘的价格求平均值,并按给定的阈值进行筛选,查找出区分阈值内外的价格数据,为进一步的分析提供条件。图2给出了该模块的流程,主要包括每个楼盘平均价格的计算和根据阈值进行筛选两部分。   图2筛选模块流程   2.2筛选模块实现代码   本模块首先计算每个楼盘销售的总数目,主要通过读取每个单元格中名称字段来确定,实现的重点在于使用了字典(dictionary)对象,其代码如下:   Set dicBuild= createObject(scripting.dictionary)   For i = 1 To UBound(rng)    name = rng(i, 1)    If Trim(name) Then   If Not dicBuild.exists(name) Then   dicBuild.Add name, 1    Else   dicBuild (name) = dicBuild (name) + 1    End If   End If    Next i   房屋均价计算方法比较多,本文仅采用求和平均的方法,实现该功能的代码如下:    keyName = dicBuild.keys    For i = 0 To dicBuild.Count - 1    sum = 0   For j = 1 To UBound(rng)   If rng(j, 1) = keyName (i) Then   sum = sum + rng(j, 2)   End If   Next j   sum = sum / dicBuild (keyName (i))   dicBuild (keyName (i)) = sum    Next i   实现超偏显示功能的代码如下:   For i = 1

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档