20170503xlVBA房地产数据分类连接
Sub NextSeven_CodeFrame4()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.Calculation = xlCalculationManual
Application.StatusBar = ">>>>>>>>程序正在运行>>>>>>>>" On Error GoTo ErrHandler Dim StartTime, UsedTime As Variant
StartTime = VBA.Timer
'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Dim Wb As Workbook
Dim Sht As Worksheet
Dim oSht As Worksheet
Dim Rng As Range
Dim Arr As Variant
Dim EndRow As Long
Const HEAD_ROW As Long = 2
Const SHEET_NAME As String = "具体事项"
Const START_COLUMN As String = "A"
Const END_COLUMN As String = "I" Dim Key As String
Dim OneKey Dim Dic As Object
Set Dic = CreateObject("Scripting.Dictionary") Dim dInfo As Object
Set dInfo = CreateObject("Scripting.Dictionary") Dim dCal As Object '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Set Wb = Application.ThisWorkbook
Set Sht = Wb.Worksheets(SHEET_NAME)
With Sht
EndRow = .Cells(.Cells.Rows.Count, "D").End(xlUp).Row
Debug.Print EndRow
Set Rng = .Range(.Cells(HEAD_ROW + 1, START_COLUMN), .Cells(EndRow, END_COLUMN)) Arr = Rng.Value
For i = LBound(Arr) To UBound(Arr)
If Arr(i, 1) = "" Then Arr(i, 1) = Arr(i - 1, 1)
Key = CStr(Arr(i, 5))
Dic(Key) = Dic(Key) + 1 Key = CStr(Arr(i, 5) & ";" & Arr(i, 1))
dInfo(Key) = dInfo(Key) + 1 Next i
End With '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Set oSht = Wb.Worksheets("协调合作单位分析")
With oSht
.UsedRange.Offset(HEAD_ROW).Clear
N = 0
dicsum = Application.WorksheetFunction.Sum(Dic.items)
For Each ok In Dic.Keys '合作单位是OK
N = N + 1
.Cells(N + HEAD_ROW, "A").Value = N
.Cells(N + HEAD_ROW, "B").Value = ok
.Cells(N + HEAD_ROW, "C").Value = Dic(ok)
.Cells(N + HEAD_ROW, "D").Value = Format(Dic(ok) / dicsum, "#0.00%") Set dCal = CreateObject("Scripting.Dictionary") For Each pk In dInfo.Keys
pos = InStr(1, pk, ok)
If pos > 0 Then
pos = InStr(1, pk, ";")
nk = Mid(pk, pos + 1) '区域
'Debug.Print nk
'区域及对应数量
dCal(nk) = dInfo(pk)
End If
Next pk iMax = Application.WorksheetFunction.Max(dCal.items)
info = "" For x = iMax To 1 Step -1
For Each nk In dCal.Keys '区域
If dCal(nk) = x Then
info = info & nk
info = info & x
info = info & ";"
End If
Next nk
Next x
.Cells(N + HEAD_ROW, "E").Value = Left(info, Len(info) - 1)
Next ok
Set Rng = .Range("A65536").End(xlUp).Offset(1)
Rng.Resize(1, 2).Merge
Rng.Value = "汇总" .Range("C65536").End(xlUp).Offset(1).Value = dicsum
.Range("D65536").End(xlUp).Offset(1).Value = "100%"
.Range("E:E").WrapText = True SetEdges .UsedRange
End With '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
UsedTime = VBA.Timer - StartTime
'MsgBox "本次耗时:" & Format(UsedTime, "0.000秒"), vbOKOnly, "NextSeven Excel Studio" ErrorExit:
Set Wb = Nothing
Set Sht = Nothing
Set Rng = Nothing
Set Dic = Nothing Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.Calculation = xlCalculationAutomatic
Application.StatusBar = False
Exit Sub
'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ErrHandler:
If Err.Number <> 0 Then
MsgBox Err.Description & "!", vbCritical, "NextSeven Excel Studio"
'Debug.Print Err.Description
Err.Clear
Resume ErrorExit
End If
End Sub
20170503xlVBA房地产数据分类连接的更多相关文章
- Python 2.7_pandas连接MySQL数据处理_20161229
在我本地Mysql_local_db数据库建立了一个pandas数据表用来对pandas模块的学习 学习过程借鉴学习蓝鲸的网站分析笔记 1.创建表 CREATE TABLE pandastest( 城 ...
- ylbtech-dbs:ylbtech-4,PurpleHouse(房地产楼盘销售系统)
ylbtech-dbs:ylbtech-4,PurpleHouse(房地产楼盘销售系统) -- =============================================-- Crea ...
- MySQL全连接(Full Join)实现,union和union all用法
MySQL本身不支持你所说的full join(全连接),但可以通过union来实现 ,下面是一个简单测试,可以看看: mysql> CREATE TABLE a(id int,name cha ...
- BDE(一款数据库引擎,通过它可以连接不同数据库)
BDE(Borland Database Engine)是Inprise公司的数据库引擎,它结合了SQL Links允许程序员通过它能够连接到各种不同的数据库.BDE是BORLAND 数据库引擎的缩写 ...
- nodejs进阶(6)—连接MySQL数据库
1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...
- SQL Server 无法连接到服务器。SQL Server 复制需要有实际的服务器名称才能连接到服务器。请指定实际的服务器名称。
异常处理汇总-数据库系列 http://www.cnblogs.com/dunitian/p/4522990.html SQL性能优化汇总篇:http://www.cnblogs.com/dunit ...
- Linux 开机时网络自动连接
简单版本: cd /etc/sysconfig/network-scripts/ vi ifcfg-enoXXX 输入:reboot重启 或者输入:service network restart ...
- 在ubuntu16.10 PHP测试连接MySQL中出现Call to undefined function: mysql_connect()
1.问题: 测试php7.0 链接mysql数据库的时候发生错误: Fatal error: Uncaught Error: Call to undefined function mysqli_con ...
- 【初学python】使用python连接mysql数据查询结果并显示
因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ...
随机推荐
- 深入理解 Java 内存模型(一)- 内存模型介绍
深入理解 Java 内存模型(一)- 内存模型介绍 深入理解 Java 内存模型(二)- happens-before 规则 深入理解 Java 内存模型(三)- volatile 语义 深入理解 J ...
- CAReplicatorLayer
CAReplicatorLayer CAReplicatorLayer的目的是为了高效生成许多相似的图层.它会绘制一个或多个图层的子图层,并在每个复制体上应用不同的变换.看上去演示能够更加解释这些,我 ...
- Oracle 启动的时候需要的服务
- Linux服务器---安装Tomcat
安装Tomcat Tomcat作为web服务器实现了对servlet和jsp的支持,centos目前不支持yum方式安装.在使用Tomcat之前,确保你已经安装并配置好了jdk,而且jdk的版本要和t ...
- python3.4学习笔记(十) 常用操作符,条件分支和循环实例
python3.4学习笔记(十) 常用操作符,条件分支和循环实例 #Pyhon常用操作符 c = d = 10 d /= 8 #3.x真正的除法 print(d) #1.25 c //= 8 #用两个 ...
- 详解C中的volatile关键字【转】
本文转载自:http://www.cnblogs.com/yc_sunniwell/archive/2010/06/24/1764231.html volatile提醒编译器它后面所定义的变量随时都有 ...
- 安装PyInstaller打包python
安装PyInstaller 对于那些网络比较稳定,能够流畅使用pip源地址的用户,直接下面的命令就可以搞定: pip install pyinstaller 通常我们会下载源码包,然后进入包目录,执行 ...
- Git 基础 —— 常用命令
Git 基础学习系列 Git 基础 -- 安装 配置 别名 对象 Git 基础 -- 常用命令 Git 基础 -- 常见使用场景 Git基础 -- Github 的使用 git init 创建 Git ...
- luogu3935 Calculating
标题也许叫整除分块吧 求\(1\)到\(n\)因数的个数\(\sum_{i=1}^n(\sum_{d|n}1)\) 范围\(1e14\)时限3s \(n\sqrt{n}\)的暴力铁定gg 分开考虑 \ ...
- JavaScript callee caller
caller是function的属性 callee是arguments的属性 callee:返回正在执行的函数对象. var sum = function (n) { == n) ; ); } con ...