精华内容
下载资源
问答
  • 2021-11-19 22:48:44

    VBA一键汇总多个工作簿-名称相同的工作表-的指定区域数据

    日常工作,我们经常需要汇总相同格式的工作簿的某个工作表的数据

    如1月业绩、2月业绩。。。。12月业绩等

    姓名数量
    数据2222
    数据2323
    数据2424
    数据2525
    数据2626
    数据2727
    数据2828
    数据2929
    数据3030
    数据3131
    数据3232
    数据3333
    数据3434
    数据3535
    数据3636
    数据3737
    数据3838
    数据3939
    数据4040

    VBA汇总后变成这样:

     啥也不说了,直接拿代码去用

     Dim 所有工作簿列表 As FileDialogSelectedItems
        Private Sub 提取数据按钮_Click(sender As Object, e As EventArgs) Handles 提取数据按钮.Click
    
    
            Dim dic As Object = CreateObject("scripting.dictionary")
            Dim wb As Excel.Workbook
            Dim sht As Excel.Worksheet
            Dim j As Long
    
            With App.FileDialog(Microsoft.Office.Core.MsoFileDialogType.msoFileDialogFilePicker)
                .AllowMultiSelect = True
                .Title = "可选择多个工作簿"
    
                If .Show() = -1 Then
                    所有工作簿列表 = .SelectedItems              '记录所有工作簿,防止二次选择工作簿
                    For Each 工作簿路径 As String In .SelectedItems
    
                        wb = App.Workbooks.Open(工作簿路径)
                        For Each sht In wb.Worksheets
                            dic(sht.Name) = ""
                        Next
    
                        wb.Close(False)
                    Next
    
                    '将所有表名加载
                    For Each 表名 In dic.keys
                        ComboBox2.Items.Add(表名)           '适合汇总同工作表名称的汇总
                    Next
    
                End If
            End With
        End Sub
    
        Private Sub 汇总数据按钮_Click(sender As Object, e As EventArgs) Handles 汇总数据按钮.Click
            Dim wb As Excel.Workbook
            Dim sht As Excel.Worksheet
            Dim j As Long
    
    
            Dim 开始输出单元格 As Excel.Range = App.InputBox("请选择开始输出单元格", Type:=8)
            Dim 输出表 As Excel.Worksheet = App.ActiveSheet
    
            For Each 工作簿路径 As String In 所有工作簿列表
    
                wb = App.Workbooks.Open(工作簿路径)
                For Each sht In wb.Worksheets
                    If sht.Name = ComboBox2.Text Then
                        Dim lastrow As Long = 输出表.Cells(输出表.Rows.Count, 开始输出单元格.Column).end(Microsoft.Office.Interop.Excel.XlDirection.xlUp).row + 1      '最后一行
                        sht.Range(ComboBox3.Text).Copy(输出表.Cells(lastrow, 开始输出单元格.Column))      '尽量不要整列,否则可能出错
                    End If
                Next
    
                wb.Close(False)
            Next
        End Sub
    
        Private Sub 选择单元格按钮_Click(sender As Object, e As EventArgs) Handles 选择单元格按钮.Click
            ComboBox3.Text = App.InputBox("请选择汇总区域", Type:=8).address
        End Sub

    我的窗体界面是这样的

     

    希望大家多多支持!谢谢

    更多相关内容
  • 2、单个值填充演变到多个值 单个值填充完之后,把鼠标放到公式所在单元格的右下角,会出现“+”号,双击“+”号即可自动填充下面所有要查找的值(前提:在设置数据源阶段,要选中全部数据及公式的修改(有些是...

    一、使用及问题记录

    1、用vlookup的查到结果后,回车或者点击“确定”之后填充的结果还是公式:

    选中要填充的列项,设置单元格的格式为“常规”,再次使用公式即可得到正确的值。

    为什么用VLOOKUP引用出来的显示的还是公式?_百度知道

    2、单个值填充演变到多个值

    单个值填充完之后,把鼠标放到公式所在单元格的右下角,会出现“+”号,双击“+”号即可自动填充下面所有要查找的值(前提:在设置数据源阶段,要选中全部数据及公式的修改(有些是自动的),并非所有列,具体看详细介绍。)。

    3、案例

    怎样快速掌握 VLookup? - 知乎

    4、学习深造

    函数公式-WPS学堂-原WPS学院-WPS官方Office技巧学习平台

    二、具体操作说明(如下图-演示数据,这里以wps工具为例)

    表一:分别有四个字段和6条数据

     表二:有两个字段(姓名、年龄)和6个姓名

     1、场景需求说明

    如下图所示,现在表二有了姓名,没有对应的年龄,想要把表一对应的年龄数据拿过来;通常的做法是直接拷贝,但是如果表一人员的顺序是混乱的改怎么办,单个拷贝太慢了,这时候就需要函数vlookup来解决这个问题。

    2、操作步骤

    2.1、点击选中“年龄”所在栏》公式》插入函数》搜索或者选择类别-下拉找到:vlookup》确定

    重要提示:年龄所在栏的单元格格式--要保证是“常规”,否则最后生成的还是vlookup公式

     2.2、设置函数参数

    设置“查找值”参数(例如:根据姓名查找,“查找值”和“被查值”的位置两张表要相同,如:姓名在左侧(查找值)---年龄在右侧,姓名和年龄左、右、中间有没有其他的字段值不重要)

     选中姓名》生成对应的函数参数

     选择数据源》选中特定的或者全部数据

    2.3、设置列序数

    2.4、设置匹配条件

    2.5、生成匹配

     

     

     

    展开全文
  • VBA示例函数之 求人不如自已动手 多个工作表查找一个范围内符合某个指定条件的项目对应指定范围加总求和 ,供初学者参考,大牛勿进~~~~~~~
  • 如何使用VLOOKUP函数查找引用其他工作表数据和自动填充数据
  • 原标题:Excel表格数据比对和查找的几...下面Office办公助手()的小编根据几常见的应用环境介绍一下Excel表格数据比对和查找的技巧。应用案例一:比对取出两的交集(相同部分) Sheet1中包含了一份数据清单A,s...

    原标题:Excel表格中数据比对和查找的几种技巧

    经常被人问到怎么对两份Excel数据进行比对,提问的往往都很笼统;在工作中,有时候会需要对两份内容相近的数据记录清单进行比对,需求不同,比对的的目标和要求也会有所不同。下面Office办公助手()的小编根据几个常见的应用环境介绍一下Excel表格中数据比对和查找的技巧。

    应用案例一:比对取出两表的交集(相同部分)

    Sheet1中包含了一份数据清单A,sheet2中包含了一份数据清单B,要取得两份清单共有的数据记录(交集),也就是要找到两份清单中的相同部分。

    ecc6a6756953e4f59385a621678b29d1.png

    方法1:高级筛选

    高级筛选是处理重复数据的利器。

    选中第一份数据清单所在的数据区域,在功能区上依次单击【数据】——【高级】(2003版本中菜单操作为【数据】——【筛选】——【高级筛选】),出现【高级筛选】对话框。

    在对话框中,筛选【方式】可以根据需求选取,例如这里选择“将筛选结果复制到其他位置”;【列表区域】就是之前所选中的第一份数据清单A所在的单元格区域;【条件区域】则选取另外那份清单B所在的单元格区域。如下图所示:

    241a782eddaa67c8d2b76be8b23966c1.png

    点击【确定】按钮后,就可以直接得到两份清单的交集部分,效果如下图。其中两个清单中虽然都有【西瓜】和【菠萝】,但是由于数量不一致,所以没有作为相同记录被提取出来。

    5d075fb31b73e650f0c6cabea3672acd.png

    这个操作的原理,就是利用了高级筛选功能对于匹配指定条件的记录进行筛选的功能,把两张表中的任意一张作为条件区域,在另外一张表中就能筛选出与之相匹配的记录,忽略掉其他不相关的记录。

    需要注意的是,使用高级筛选的时候务必注意两个清单的标题行要保持一致(高级筛选中作为条件区域的前提),并且在选取【列表区域】和【条件区域】的时候都要把标题行的范围包含在其中。

    方法2:公式法

    使用公式进行比对的方法有很多,如果是单列数据对比比较常用的函数是,如果是多列数据记录对比,比较胜任。

    在其中一张清单的旁边输入公式:

    =SUMPRODUCT((A2&B2=Sheet2!A$2:A$13&Sheet2!B$2:B$13)*1)

    并向下复制填充。其中的Sheet2!A$1:A$13和Sheet2!B$2:B$13是另一张清单中的两列数据区域,需要根据实际情况修改。公式结果等于1的记录就是两个清单的交集部分,如下图所示:

    e83f59d1515e5cec89ae5c94021daaa4.png

    应用案例二:取出两表的差异记录

    要在某一张表里取出与另一张表的差异记录,就是未在另外那张清单里面出现的部分,其原理和操作都和上面第一种场景的差不多,所不同的只是筛选后所选取的集合正好互补。

    方法1:高级筛选

    先将两个清单的标题行更改使之保持一致,然后选中第一份数据清单所在的数据区域,在功能区上依次单击【数据】——【高级】,出现【高级筛选】对话框。在对话框中,筛选方式选择“在原有区域显示筛选结果”;【列表区域】和【条件区域】的选取和前面场景1完全相同,如下图所示:

    2d5665c6151c327d87ba5708fb02dafb.png

    点击【确定】完成筛选,将筛选出来的记录全部选中按【Del】键删除(或做标记),然后点击【清除】按钮(2003版本中为【全部显示】按钮)就可以恢复筛选前的状态得到最终的结果,如下图所示:

    cc025cf6d32c24c6a925c02396639d93.png

    方法2:公式法

    使用公式的话,方法和场景1完全相同,只是最后需要提取的是公式结果等于0的记录。

    应用案例三:取出关键字相同但数据有差异的记录

    前面的两份清单中,【西瓜】和【菠萝】的货品名称虽然一致,但在两张表上的数量却不相同,在一些数据核对的场景下,就需要把这样的记录提取出来。

    方法1:高级筛选

    高级筛选当中可以使用特殊的公式,使得高级筛选的功能更加强大。

    第一张清单所在的sheet里面,把D1单元格留空,在D2单元格内输入公式:

    =VLOOKUP(A2,Sheet2!$A$2:$B$13,2,0)<>B2

    然后在功能区上依次单击【数据】——【高级】,出现【高级筛选】对话框。在对话框中,筛选方式选择“在原有区域显示筛选结果”;【列表区域】选取第一张清单中的完整数据区域,【条件区域】则选取刚刚特别设计过的D1:D2单元格区域,如下图所示:

    5abba6cc721623084976a5ad2c775806.png

    点击【确定】按钮以后,就可以得到筛选结果,就是第一张中货品名称与第二张表相同但数量却不一致的记录清单,如下图所示:

    ffc2123078522bcc95784b41e777b96a.png

    同样的,照此方法在第二张清单当中操作,也可以在第二张清单中找到其中与第一张清单数据有差异的记录。

    这个方法是利用了高级筛选中可以通过自定义公式来添加筛选条件的功能,有关高级筛选中使用公式作为条件区域的用法,可参考本站发布的;另外一篇教程:

    Excel中数据库函数和高级筛选条件区域设置方法详解

    http:///excel/jiqiao/2924.html

    方法2:公式法

    使用公式还是可以利用前面用到的SUMPRODUCT函数,在其中一张清单的旁边输入公式:

    =SUMPRODUCT((A2=Sheet2!A$2:A$13)*(B2<>Sheet2!B$2:B$13))

    并向下复制填充。公式中的包含了两个条件,第一个条件是A列数据相同,第二个条件是B列数据不相同。公式结果等于1的记录就是两个清单中数据有差异的记录,如下图所示。这个例子中也可以使用更为人熟知的来进行匹配查询,但是VLOOKUP只适合单列数据的匹配,如果目标清单中包含了更多字段数据的差异对比,还是的扩展性更强一些。

    1744f0897abfe4f28aae2308642e1ec8.png返回搜狐,查看更多

    责任编辑:

    展开全文
  • VBA学习笔记本(二)——两个表格数据匹配_DEMO 将excel中两个工作表中,数据进行一键同步的通用方法
  • 大家好,我是天空之城,今天给大家带来小福利,用Excel里面的vlookup函数实现多个数据快速查找。 首先看1是源数据,现在我要在只知道编号的情况下,从源数据查找到编号对应的姓名和语文成绩就是2里面的效果, ...

    大家好,我是天空之城,今天给大家带来小福利,用Excel里面的vlookup函数实现多个数据快速查找。
    在这里插入图片描述
    首先看表1是源数据,现在我要在只知道编号的情况下,从源数据查找到编号对应的姓名和语文成绩就是表2里面的效果,
    在这里插入图片描述

    这个时候,我们选中R2这个单元格,在公式编辑栏中输入公式=VLOOKUP(Q2,A:B,2,0),那么vlookup公式里面有四个位置参数,第一个Q2表示编号的位置,就是数字1的位置,第二个A:B表示我选中的数据源的位置就是A列到B列,第三个参数2表示,我所要的姓名这个数据在数据源中的列数就是第二列,第四个参数0表示精确查找,公式输入完毕后,直接按回车键就可以得到我们所需要的结果了,然后让鼠标变成十字架往下拖动就可以得到所有编号对应的姓名了,同样的方法就可以得到语文成绩,公式是=VLOOKUP(Q2,A:C,3,0).
    那么这样会比较麻烦的是,我查姓名,语文,数学,英语,物理的成绩分别需要输入一次公式,有没有一步到位的方法呢,是有的,看下面。
    我们可以嵌入使用match函数。

    =======================================================
    在这里插入图片描述

    **同样在上表J2这个位置输入公式=VLOOKUP($I2,$A:$F,MATCH(J$1,$A$1:$F$1,0),0),道理是一样的,主要就是里面加入了match函数,叫做匹配函数,
    里面也是三个参数,J1表示姓名的位置,
    $A$1:$F$1,表示表头A1到F1的位置,$表示绝对引用的意思,
    0表示精确匹配,按回车键 之后得到了语文成绩,
    一次性用十字箭头拉动就可以得到所有科目的成绩了,
    非常准确高效。**
    

    ===================================================

    **下面介绍一个模糊匹配查询的方法,
    在 L2的位置输入=VLOOKUP("*"&K2&"*",B:C,2,0),
    "*"&K2&"*"表示张三前后可以是任意字符,只要我数据源里面每个单元格里面存在张三这两个字就可以实现查找出张三对应的语文,数学成绩了,非常简单高效。**
    

    在这里插入图片描述
    好了,以上就是今天介绍的三个知识点,有疑问的地方可以给我留言。
    谢谢!

    展开全文
  • 转移目标数据到新的工作表中的方法 目标: 从张以年份为依据划分的采购状态表中,摘取出专用备件,创建一张新的专用备件清单表。 实现过程介绍: 采购状态表按从左到右顺序,依次由这些字段构成:序号(A3),...
  • 用公式提取多个Excel文件的数据

    万次阅读 2019-09-16 10:46:27
    用公式提取多个Excel文件的数据提取数据的Excel文件新建公式,提取文件名提取文件名到Excel中用文件名和地址组成字符串将引用的字符串以数字类型粘贴用查找和替换功能在字符串前加“=”用查找和替换功能更改单元...
  • Excel如何同时查找多个数据

    万次阅读 多人点赞 2018-09-02 16:45:26
    在使用多个excel的时候,有时需要在一个查找另一个中的某些信息,怎样能一步到位,将所有要查找的信息一次找出来而不是一个个的Ctrl+F? 这是前几天帮辅导员老师统计新生的数据时遇到的问题。 所有新生的...
  • VBA数据筛选(列数值条件_每列条件都有一数值区间).xlsm VBA拆分工作表
  • 大家好,我是天空之城,今天给大家带来小福利,用Excel里面的index+match函数实现多个数据快速查找。 我们在Excel里面想要实现数据的批量查找,除了上一篇文章提到的vlookup函数,还可以采用index+match函数实现多个...
  • 如何用matlab读取多个excel表格数据,将每个表格数...一xlsread()函数,比import简单的多,具体语句:A = xlsread('yourfilename.xls')望高手支招!不一定要拷贝到data文件中啊,你使用xlsread时指定excel绝对路径就...
  • 如何在多个EXCEL文件中搜索某一内容,并展示出查找内容所在的行,所在的文件、所在信息。 在日常办公中,经常从面临多个Excel文件查找出需要的信息。对于复杂的信息有时候也需要支持正则表达式的查找。今天介绍...
  • 今天小编就为大家分享一篇Layui 数据表格批量删除和条件搜索的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 想从一EXCEL里导入对应数据到另一EXCELEXCEL里导入对应数另一EXCEL方法:1、如下是一Excel工作薄两张,分别为Sheet1和Sheet2,分别以12来代替。要把2中的语文成绩导入到1中,但是从图中可以看出1...
  • wps表格怎么多个工作表检索内容?

    千次阅读 2020-05-29 11:04:45
    1.准备工作 2.Ctrl+F 调出查询界面 3.查询结果
  • 在使用excel的过程中,经常遇到需要将两个或者多个有某种关联的表格数据整合到一个中,比如在进销存软件中导出的商品销售和商品提成,有了提成的比例和销售数据,我们就可以迅速的计算出提成数据,再比如学生...
  • 1.在父目录查找处输入关键词 2.将找到的文件进去查找-工作簿
  • mysql如何删除多个表格数据库数据

    千次阅读 2021-01-18 20:09:27
    mysql删除多个表格数据库数据的方法:在两个之间建立级联删除关系,实现删除一个数据时,同时删除另一个中相关的数据,语句为【delete t1,t2 from t1,t2 where 条件】。【相关学习推荐:mysql教程(视频)】...
  • vue动态表格数据查询筛选代码是一款通过获取json数据表格,输入关键词搜索查询筛选表格列表实例代码。
  • 把这些掌握就差不多了一、建立分类下拉列表填充项我们常常要将企业的名称输入到表格中,为了保持名称的一致性,利用“数据有效性”功能建了一分类下拉列表填充项。1.在Sheet2中,将企业名称按类别(如“工业企业”...
  • VLOOKUP函数查找个工作表的重复数据 第一次用到这函数还是好几年以前,有学生家长问我,如果两工作表里有部分重复的数据,怎么才能找出来?当然这两个工作表数据都很,所以人工检索的话工作量...
  • excel最大可处理多少条数据理论上可以处理59999条(行)数据 但是实际上同一个工作表中无法处理这么多数。Excel 怎样做一个客户多个数据的表1.首先,简单描述问题,在如下的表格中想姓名一栏当中相同名信息排在,该...
  • 如下图所示,有一近2000行的数据表,需要把其中含有关键字‘颈廓清术,中央组(VI组)’的数据所在行都都给抽取出来,且提取后的表格不能改变原先的顺序。 问题分析: 一开始想用excel的筛选功能,但是发现只提供...
  • excel中多个条件的查找,涉及到XLOOKUP函数和VLOOKUP函数的使用。例如我们将某个坐标的信息输入到表格中,但是我们只需要其中一部分坐标的信息的时候,我们可以用到此方法。
  • Excel VB代码 2003快速合并多个Excel工作表代码 解释我一般是EXCEL 和ACCESS使用,一般用通过链接表,把EXCEL的导入到ACCESS在数里查询,在EXCEL进行数据收集. 不过如数才几千,单用EXCEL就可以了, 你想要的功能"很难查...
  • 不同表格查找重复数据VBA

    千次阅读 2018-12-25 13:50:54
    '两个表格,表格中的某一列为对应列,查找这两列中的重复记录和差异记录。 Dim ar As Long, br As Long, i As Integer, j As Integer, num As Integer 'ar/br为行数,i为外层循环数控制,j为内层循环数控制 ...
  • 有时候往往面临从多个Excel提取指定列(一列或多列)的数据,按列的方式追加到新,不会vba的伙伴怎么办呢?推荐一个工具给大家,操作如下: 如上图: 我们要提取B,C列的数据, 追加到新的列中。 填写...
  • 打开给定工作簿,选择按钮,输入你需要在多个表格中复制的数据位置(可以为空),但是切记,第一行和第一列不能为空和最短的数据,否则会被覆盖掉,因为是根据第一行和第一列的长度来判断并向后依次追加数据(按行按...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 483,482
精华内容 193,392
关键字:

多个表格查找数据如何提取