网站首页 > 博客文章 正文
大家好,我们继续讲解VBA数组与字典解决方案,今日讲解第35讲内容:工作表查询时,结合数组,实现在工作表查询的同时,完成分工作表的归类汇总。今日的内容对于实际的工作非常重要,也是我根据实际的工作加工整理的一段代码。
实例问题:大家看我下面的工作表数据截图,每型号产品是给不同的生产厂生产的,供货的是不同的供应商,那么问题来了,我要实现分供应商把各个型号进行汇总,同时把供应商的分别放置在不同的工作表中,如何实现呢?
我们先进行一下问题的分析:
1 在数据处理前我们要知道有多个供应商,而且要清楚,这个数据是不固定的。
2 要根据供应商的数目,插入工作表。
3 要按照供应商的不同来提出数据。
看起来很复杂,但确实是我们的工作实例了,如财务的工资表可以根据代码分部门;物流部门可以按此代码分供货商,销售部门可以按此代码进行客户的分类等。好了还是看我提供的代码吧:
Sub MyNZsz_35() '第35讲 结合数组实现在工作表查询的同时,完成分工作表的归类汇总
Dim cnADO, rsADO As Object
Dim strPath, strSQL3, strSQL4 As String
Worksheets("35").Select
Cells.ClearContents
Set cnADO = CreateObject("ADODB.Connection")
strPath = ThisWorkbook.FullName
cnADO.Open "provider=Microsoft.ACE.OLEDB.12.0;extended properties='excel 12.0;hdr=yes;imex=1';data source=" & strPath
arr = cnADO.Execute("Select Distinct 供应商 From [数据备份$]").GetRows
For k = 0 To UBound(arr, 2)
strSQL = "Select 型号,数量,生产厂,单价 From [数据备份$] Where 供应商='" & arr(0, k) & "'" & " order by 型号"
ActiveWorkbook.Sheets.Add after:=Worksheets("数据备份")
ActiveSheet.Name = arr(0, k)
With Sheets(arr(0, k))
[A1:D1] = Array("型号", "数量", "生产厂", "单价")
.[A2].CopyFromRecordset cnADO.Execute(strSQL)
End With
Next
cnADO.Close
Set cnADO = Nothing
End Sub
代码截图:
代码讲解:
1 Arr = cnADO.Execute("Select Distinct 供应商 From [数据备份$]").GetRows
上述代码把供应商的名称排重手计入变体变量ARR,需要注意的是,这个ARR是个二维数组。
2 strSQL = "Select 型号,数量,生产厂,单价 From [数据备份$] Where 供应商='" & Arr(0, k) & "'" & " order by 型号"
上述代码实现了按供应商的名称提取数据。Arr(0, k)的数据即是供应商的名称
3 ActiveWorkbook.Sheets.Add after:=Worksheets("数据备份")
ActiveSheet.Name = Arr(0, k)
上述代码是把供应商的名称作为工作表的名称,在数据备份工作表之后插入。
下面看代码的运行:
我们看到新增了两个工作表,名称和供应商的一致,里面是我们需要提出的数据。
今日内容回向:
1 如何实现不确定数据的数据提取?
2 对于变体变量的数组是否清楚呢?
猜你喜欢
- 2024-10-04 TP5 where数组查询(模糊查询--多个查询条件)
- 2024-10-04 sql基础(六)(sql基本知识点)
- 2024-10-04 必知的php数组函数(必知的php数组函数有哪些)
- 2024-10-04 C# 数据操作系列 - 16 SqlSugar 完结篇(最后的精华)
- 2024-10-04 会SQL语句,就能快速开放你的数据接口API
- 2024-10-04 VBA数组与字典解决方案第46讲:进行数据的模糊分类汇总
- 2024-10-04 sqlite3 支持JSON(Sqlite3 支持网络访问)
- 2024-10-04 HeidiSQL 免费的可视化数据库管理工具
- 2024-10-04 实例讲解MyBatisPlus自定义sql注入器方法
- 2024-10-04 【实用技能】Seacms 8.7版本SQL注入分析
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- messagesource (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)