大家好,模糊查询,在平时工作中会经常遇到。
本期呢,会将模糊查询的两个最常用的方法分享给大家。
1、instr函数2、like运算符
在开始之前,我建议先把上一期的【VBA案例002】一对多查询看一遍。因为本次内容是基于上次的文件衍生出来的。并且代码也大同小异。
先附上VBA代码,详细内容,请看文章最后的视频哦!~
方法一:123456789101112131415161718192021222324Sub 单元格循环() Dim i, j, k, irow Dim cel As Range Dim t As Double t = Timer Sheets("查询").Range("a6:d65536").ClearContents Dim str As String str = Sheets("查询").Range("b3") k = 5 With Sheets("数据源") For Each cel In .Rang ...
大家好!今天我们分享一个有关VBA自动填充表单的案例,帮助大家简化表单填写的过程,提高工作效率。
我们经常需要填写大量重复的表单,例如报销单、数据输入表格等,并且每个表单都有各自的字段需要填写。手动逐个填写这些表单既耗时又容易出错。
使用VBA自动填充表单可以极大地简化这一过程,让我们能够更专注于其他重要的工作。
譬如说,现在有两个表格,一个是人员清单,另一个的表单。
现在要做的是,将人员清单中的每一行信息,填到表单里,并导出为一个单独的工作簿。
下面是VBA的代码分享,你也可以观看下方的视频解析:
方法一:1234567891011121314151617181920212223Sub 表格填充() Dim i, j, k Dim xinXiSht As Worksheet Dim qingDanSht As Worksheet Set xinXiSht = ThisWorkbook.Worksheets("信息卡") Set qingDanSht = ThisWorkbook.Worksheets("人员清单" ...
大家好!书接上文。
有时候,我们需要处理多个工作簿,每个工作簿中包含一些特定的信息。为了将这些信息汇总到一个表中,我们可能需要手动打开每个工作簿,然后复制粘贴所需的数据。但这样做既费时又容易出错。
所以,使用VBA依然可以解决这个问题。极大地简化这一过程,让我们能够更专注于其他重要的工作。
举个例子,现在我们有100个工作簿。
需要从里边提取员工信息汇总到一个表里边。
猜猜看,用VBA处理这些需要多久?
下面是VBA的代码分享,你也可以观看下方的视频解析:
公共函数:
1234567891011121314151617Private Function filelist(folderspec, Optional pstr = "*.txt") On Error GoTo errline Dim fs, f, f1, fc, i, farr Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFolder(folderspec) Set ...
大家好!你是否在为数据去重感到烦恼?
今天,我们将分享两种高效的 VBA 方法,帮助你轻松应对数据去重难题。
举个例子。
我们要对以下数据的产品和型号进行数据去重,保留唯一值。
以下是VBA代码,你也可以直接观看下方的视频解析:
方法一:123Sub 方法一() Range("f1:h18").RemoveDuplicates Array(1, 2), xlYesEnd Sub
方法二:12345678910111213141516171819202122232425Sub 方法二第一次出现的值() Dim i, j, k Dim ar, br() ar = Range("a1:c18") ReDim br(1 To UBound(ar), 1 To UBound(ar, 2)) Dim d As Object, kw$ Set d = CreateObject("Scripting.Dictionary") 'd.CompareMode = vbTextCompa ...
大家好!今天回答一位网友的问题。
就是用VBA进行多条件汇总,来实现数据透视表的效果,并且要对结果进行排序。
先来看例子。
假如我们有一份产品信息表,需要对它的所有产品和型号进行汇总。左侧是原始数据,右侧是处理结果。
我们来通过三个不同的方法,来解决这个问题。其中方法一:最容易理解,适合对字典刚入门的情况。方法二:具有有一定的难度,需要对字典有更加深刻的了解。方法三:作为拓展内容。
以下是VBA代码,你也可以直接观看下方的视频解析:
方法一:123456789101112131415161718192021222324252627282930Sub 方法一() Dim i, j, k Dim ar Dim d1 As Object, d2 As Object, d3 As Object Set d1 = CreateObject("Scripting.Dictionary") Set d2 = CreateObject("Scripting.Dictionary") Set d3 = CreateObject ...
大家好!今天分享的案例是多条件查询。
这个查询在进销存或者库存管理中特别常用,如果你准备或者正在做一个自己的管理查询工具,这个方法一定要会。先来看一下数据。
比如说,现在有一份产品信息表。
我们要做的是在查询页面,输入参数后,查询出所有满足条件的内容。其中参数可以不填,不填就表示要查询所有内容。
本期将使用2个方法来实现效果,以下是VBA代码,详细视频解析在文末。
方法一:1234567891011121314151617181920212223242526272829303132333435363738Sub 方法一() Dim i, j, k Dim ar, br() With Sheet2 ar = .Range("a1:f" & .[a65536].End(3).Row) End With ReDim br(1 To UBound(ar), 1 To UBound(ar, 2)) Dim customer, product, startDate As Date, endDate As Date ...
大家好!今天分享一下遇到合并单元格的处理思路。
工作中,为了方便查看数据,很多朋友习惯性的把单元格合并起来,这样使得表格看起来清晰美观了不少。但这样做的同时,会给以后的计算增加很多困难。
比如下边:要计算产品的总库存。
当我们要对合并单元格进行汇总统计的时候,总会遇到很多问题。其实只要你明白合并单元格的底层逻辑之后,问题就会变的简单起来。
合并单元格:其实只保留了区域左上角的一个值,其他位置都是空的。
明白原理之后,我们再来看下VBA代码,详细解析请看文末视频。
12345678910111213141516171819Sub 汇总() Dim i, j, k Dim ar ar = Range("a1:c" & [c65536].End(3).Row) Dim d As Object, kw$ Set d = CreateObject("Scripting.Dictionary") 'd.CompareMode = vbTextCompare '不区分大小写 For i = ...
大家好!今天将为大家介绍在Excel中如何实现下拉多选功能,让数据输入更加灵活高效。
下拉多选功能不仅提高了数据输入的灵活性,还减少了输入错误的可能性,为我们的数据处理工作带来了更高的效率。
也许你见过使用表单控件的方式实现下拉多选,但是通过数据验证和VBA,我们同样能够轻松创建具有下拉多选功能的工作表。
以下是VBA代码,详细解析请看文末视频。
1234567891011121314151617181920212223242526272829303132333435363738Private Sub Worksheet_Change(ByVal Target As Range) Dim rngDV As Range Dim oldVal As String Dim newVal As String Dim fenGeFu As String If Target.CountLarge > 1 Then Exit Sub fenGeFu = "," '规定用逗号分隔 On Error Resume Next ...
大家好!终于放假了,知了祝大家双节快乐!~
今天分享的案例非常的经典,它让我首次见识了VBA的魅力。也是从那会儿开始,命运的齿轮开始转动,走上了学习VBA的道路。
它就是:合并工作表。
问题很简单:就是把一个工作簿里的所有sheet合并到一个总表里边。
如下图:将 4个班级的信息合并。
以下是VBA代码(长按复制,可向右托动),详细解析请看文末视频。
方法一:复制粘贴12345678910111213141516171819Sub 复制粘贴() Dim sht As Worksheet Dim zongSht As Worksheet Set zongSht = Worksheets("总表") Dim rowsCount, zongRows For Each sht In Worksheets If sht.Name <> "总表" Then With sht rowsCount = .[a65536].End(3).Row ...
大家好!这次分享的是非常经典的案例:合并工作簿。
相信大家已经很熟悉这个问题了,就是把多个工作簿里的工作表合并到同一个sheet里。
这次同样分享两个方法,以下是VBA代码。详细解析请看文末的视频。
自定义函数:
1234567891011121314151617Private Function filelist(folderspec, Optional pstr = "*.txt") On Error GoTo errline Dim fs, f, f1, fc, i, farr Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFolder(folderspec) Set fc = f.Files ReDim farr(1 To fc.Count) For Each f1 In fc If f1.Name Like pstr And Not f1.Name Like "*~$*" T ...

