标签:VBA 下面的VBA自定义函数可以返回指定工作表中已使用区域之后的第一个空行行号。...图1 由示例可见,即便工作表中已使用区域前面存在空行,该函数仍然返回已使用区域后的第一个空行。...有很多人喜欢使用下面的语句: Cells(Rows.Count, 1).End(xlUp).Row + 1 返回最后一行之后的空行。然而,这只是返回第1列最后一个数据之后的空行。...如果要返回所有列中最后一个出现数据的行后的空行,那就必须知道哪一列中最后一个数据比其它列出现的行大,但对于许多工作表来说,事先是不知道的。因此,本文前面给出的自定义函数最为灵活。
学习Excel技术,关注微信公众号: excelperfect 在《Excel公式技巧63:查找最后一行》中,我们使用LOOKUP函数的公式获取最后一个值或该值所在的行号。...如果列表中的前面有空,那么如何获取第一个非空值呢? 如下图1所示的工作表,在数据列中存在一些空单元格,且在第一个值前面就存在空单元格。 ?...图1 输入数组公式: =INDEX(B3:B12,MATCH(FALSE,ISBLANK(B3:B12),0)) 可以获取数据列中第一个非空单元格的值。...函数判断区域内是否有空单元格,解析为: MATCH(FALSE, {TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;TRUE;TRUE},0) MATCH函数在数组中查找第一个...FALSE值的位置,即第一个非空单元格的位置,得到: 2 传递给INDEX函数,得到: =INDEX(B3:B12,2) 结果为: 完美Excel 如果要获取第一个数字,则可以使用数组公式: =INDEX
脚本借鉴了前人的两种处理思路(在下面的脚本中有注释说明引用出处),并修正了原先两种处理方法中如果文件末尾含有多个空行而返回空行的问题。
标签:Word VBA 有时候,表格中有很多空行,如果觉得一行一行操作很麻烦,那么可以使用VBA来帮你完成。...Delete End If Next iCounter Application.ScreenUpdating = True End Sub 如果文档中有许多表格,你想快速删除这些表格中的所有空行...如果文档中包含有大量的表格,要删除这些表格中的空行,那么这里的代码非常有用。
VBA用字典批量查找社保数据(VLookup功能加强版) 【问题】我们知道社保导出的数据是很多合并的单元格,如果要查找一个数据都要找很久,如果数量多了更多费时,基于以上问题,特用VBA设计一个批量查找的程序...==本程序是个人原创学习之用== ====程序1==== Sub 批量查找社保数据a() Dim dic As Object, wb As Workbook Set dic = CreateObject...时间为:" & Format(Timer - ti, "0.000秒") End Sub 用时2.172秒 ====程序2==== Sub 用字典批量查找数据() Dim mydic As Object
不存在则创建它) 2.3 获取指定路径文件夹内所有文件和子文件夹的名称 2.4 获取指定路径文件夹内的所有文件名称 2.5 获取指定路径文件夹内所有子文件夹的名称 2.6 获取指定路径文件夹内第一个...2.6 获取指定路径文件夹内第一个txt文件的名称 Sub GetFirstTxtFileName() Dim FileName As String Dim PathName As...参考资料: [1] VBA DIR Function – An Easy Explanation with Examples(https://trumpexcel.com/vba-dir-function...) [3] 用dir 查找文件夹,特定文件名,文件类型,遍历等(https://blog.csdn.net/xuemanqianshan/article/details/103380178) [4] 文件属性...快速入门06-运算符(https://inuwashi123.github.io/post/vba/vba%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A806-%E8%BF%90%
标签:VBA,自定义函数 下面的VBA自定义函数可以实现在单元格区域中查找满足多个值的行或列。...And c.Address firstAddress End If End With End Function 假设工作表中包含三列,即列A中是水果名,列B中是颜色,列C中是产地,现在查找同时包含
标签:VBA 有时候,不一定会查找到精确的值,如果是这样的话,应该可以找到最接近的值。有很多公式可以实现,然而本文不使用公式,而是使用VBA代码来实现。...下面的VBA代码将遍历一系列单元格,并评估最接近的匹配值。...As Range Dim r As Range Dim Mx As Single Dim i As Long Dim target As Integer '要查找的值所在的单元格...target = Range("D10").Value '要查找的区域 Set rng = Range([B10], Range("B" & Rows.Count).End(xlUp...)) '结果区域 rng.Offset(, 1).ClearContents Mx = Application.Max(rng) '遍历单元格并查找 For Each
Function 进程路径(Optional exen) 'Debug.Print 进程路径("EXCEL.EXE") If IsMissing(exen) ...
例如下图1所示,每行数据中非零值出现的位置不同,我们想知道非零值出现的单元格对应的列标题,即第3行中的数据值。 ?...图2 在公式中, MATCH(TRUE,B4:M40,0) 通过B4:M4与0值比较,得到一个TRUE/FALSE值的数组,其中第一个出现的TRUE值就是对应的非零值,MATCH函数返回其相对应的位置...MATCH函数的查找结果再加上1,是因为我们查找的单元格区域不是从列A开始,而是从列B开始的。...ADDRESS函数中的第一个参数值3代表标题行第3行,将3和MATCH函数返回的结果传递给ADDRESS函数返回非零值对应的标题行所在的单元格地址。
如果我们需要查找特定格式的单元格,例如字体为加粗或者有特定背景色的单元格,该怎么操作? 此时,就要用上Find方法的参数SearchFormat了。这是一个布尔参数,它告诉Find方法搜索特定格式。...要查找这个特定的格式,使用: Application.FindFormat.Interior.Color = RGB(255,255, 0) ?
字典对象一个常用功能就是查找,假设数据源是这样的: ?...用字典来查找数据的代码: Sub DicSearch() Dim arr() As Variant '读取数据源 arr = Range("A1").CurrentRegion.Value...Next Dim des() As Variant '读取待查找的项目 des = Range("D1").CurrentRegion.Value Dim...Range("D1").Resize(UBound(des, 1), UBound(des, 2)).Value = des End Sub 比较简单的一段代码,和汇总数据一样,这里只是按照一个条件进行查找...,需要按照2个甚至多个条件来查找的时候,需要改动的代码有: dic(VBA.CStr(arr(i, 1))) = i irow = dic(VBA.CStr(des(i, 1))) 让我们看看用ADO
有时候,我们需要执行区分大小写的查找,如下图1所示。...图1 我们要查找单词“Excel”,如果使用下面的程序代码: Sub MatchCaseFind() Dim rngSearch As Range Set rngSearch = Range...由于是执行区分大小写的查找,因此必须添加另外一个参数:MatchCase,该参数迫使VBA执行匹配大小写的查找。...图3 小结 Find方法是一个很重要的常用方法,熟知其参数的用途,灵活使用该方法,获得正确的查找结果。
C++ STL 中的非变易算法(Non-modifying Algorithms)是指那些不会修改容器内容的算法,是C++提供的一组模板函数,该系列函数不会修改原序列中的数据,而是对数据进行处理、查找、...由于迭代器与算法是解耦的,因此非变易算法可以广泛地应用于各种容器上,提供了极高的通用性和灵活性。...这些算法都是在头文件 中定义的,其主要包括以下几类非变易算法: 查找算法: find():在容器中查找指定值的元素,并返回第一个匹配的位置。...Find 算法函数,用于查找序列中指定值的第一个元素,并返回该元素的迭代器。...Mismatch 算法函数,用于查找两个序列中第一个不匹配的元素。
标签:VBA 如下图1所示,有一系列数据,其中Yl代表“Yellow”,Re代表“Red”,Bl代表“Blue”,Gr代表“Green”。...图1 现在,要查找各颜色对应的数值,并将找到的值列出来,如下图2所示。...图3 VBA过程如下: Sub test() Dim rng As Range Dim CritVar As Variant Dim x As Long Dim aRng As Range...可以在完美Excel微信公众号发送消息: 分别查找所有值 获取示例工作簿的下载链接。 或者,直接到知识星球App完美Excel社群下载该示例工作簿。
C++ STL 中的非变易算法(Non-modifying Algorithms)是指那些不会修改容器内容的算法,是C++提供的一组模板函数,该系列函数不会修改原序列中的数据,而是对数据进行处理、查找、...由于迭代器与算法是解耦的,因此非变易算法可以广泛地应用于各种容器上,提供了极高的通用性和灵活性。...这些算法都是在头文件 中定义的,其主要包括以下几类非变易算法:查找算法:find():在容器中查找指定值的元素,并返回第一个匹配的位置。...Find 算法函数,用于查找序列中指定值的第一个元素,并返回该元素的迭代器。...Mismatch 算法函数,用于查找两个序列中第一个不匹配的元素。
在Excel中通过VBA对Word文档进行查找替换 以前学过两篇关于ExcelVBA_to_word的文章 1.ExcelVBA一键批量打印文件夹中的所有word文档 2.ExcelVBA一键导入Word...简历信息到 EXCEL中 今天再来学习: 【问题】 在Excel中通过VBA对Word文档进行查找替换,我想把word文档中的“name”全部替换成“张三” word文档如下图 【思路】 在Excel...文档中,先引用CreateObject("word.application"),再打开文件,查找,替换
sato @file: binary_search.py @time: 2019-09-03 15:21 """ def binary_search(array, key): """二分查找非递归...start = mid + 1 else: return True def binary_search(a, b): """非递归...return centre else: return 'b in not in a' def binary_search_reduce(array, key): """二分查找...else: return binary_search_reduce(array[mid + 1:], key) if __name__ == '__main__': # 二分查找的最优时间复杂度为...O(1),最坏时间复杂度为O(log n) # 递归空间复杂度是:O(N) 非递归: O(1) # 使用场景: 在有序数组中寻找指定元素 sorted_list = [1, 4
昨天同学去參加阿里巴巴面试,被问到二叉树的一些基本问题,分享一下: 1.怎样非递归dfs求得树的深度 2.怎样非递归bfs求得树的深度 *3.怎样非递归地中前后序遍历二叉查找树。...public: BinarySearchTree() { root = NULL; }; void insert ( Comparable x ) //非递归插入...get_depth_dg() //递归搜索树的深度 { return get_depth_dg ( root ); } int get_depth_dfs() //非递归...,深度搜索树的深度 { return get_depth_dfs ( root ); } int get_depth_bfs() //非递归。...:\n"; t.travel_in(); cout << "\n递归后序遍历\n"; t.travel_dg_suf(); cout 非递归递归后序遍历:\n
二分查找的前提是数据有序,二分查找的性能十分优秀。...时间复杂度为O(log2n) 非递归 int binsearch(int arr[],int len,int value){ //low和high指向当前查找区间的两端,value为查找的关键字...high = mid-1; } else{ low = mid+1; } } return -1;//未查找到返回...O(n),相对于二分查找性能较差 int seqsearch(int arr[],int len,int value){ for(int i=0;i < len;++i){ if...(arr[i] == value){ return i; } } return -1;//未查找到返回-1 }
领取专属 10元无门槛券
手把手带您无忧上云