- 博客(375)
- 资源 (2)
- 收藏
- 关注
原创 VBA快速合并不规范的数据表
实例需求:数据表如下图所示,表中数据逐渐增加,导致同一个姓名的相关数据不连续,每行数据中的内容数量不同,可能出现在任意数据列。现在需要将数据整理为如下格式,对于某个姓名,同一列如果存在多个数据,那么使用逗号作为分隔符,如下图所示。
2025-03-11 12:03:22
323
原创 VBA Dir查找文件按指定规则排序
实例需求:C:\Temp目录中的文件如下所示,各位同学肯定知道在VBA中使用`Dir`可以查找文件,其顺序就按照文件名称升序排列,但是此处需要按照指定顺序处理文件,对于每个`Tagx`,需要先处理`Tagx_Before`,然后再处理`Tagx_After`,那么就需要使用自定义排序来处理文件列表。
2025-03-11 12:01:04
249
原创 快速定位Word文档中特殊符号之间的文本(2/2)
实例需求:Word文档如下图中左侧所示,现需要修改手工换行符和段落符之间文字的字体为蓝色,如右图所示,注意示例文档中有两个文本框,并且第二个文本框中包含表格。- 在Word中使用【Shift+Enter】输入手工换行符,也称为软回车,其ASCII值为11,在文档中显示为向下的灰色箭头,如文档截图中第一行行尾所示- 在Word中使用【Enter】输入段落符,也称为硬回车,其ASCII值为13,在文档中显示为转角向左的灰色箭头,如文档截图中第二行行尾所示- 修改字体颜色时,应避免影响项目编号、项目符号的
2025-03-09 08:11:36
370
原创 快速定位Word文档中特殊符号之间的文本(1/2)
实例需求:Word文档如下图中左侧所示,现需要修改手工换行符和段落符之间文字的字体为蓝色,如右图所示。- 在Word中使用【Shift+Enter】输入手工换行符,也称为软回车,其ASCII值为11,在文档中显示为向下的灰色箭头,如文档截图中第一行行尾所示- 在Word中使用【Enter】输入段落符,也称为硬回车,其ASCII值为13,在文档中显示为转角向左的灰色箭头,如文档截图中第二行行尾所示- 修改字体颜色时,应避免影响项目编号、项目符号的字体样式
2025-03-09 08:08:02
571
原创 快速列出MS Word中所有可用字体
Word中有很多字体,虽然在字体下拉列表中提供了字体的样例,但是并不全面,例如使用Batang字体的话,数字会显示成什么效果,就无法直观的看到。
2025-02-28 15:34:22
478
原创 VBA实现智能自适应文本框
实例需求:用户窗体中有两个文本框,由于第二个文本框输入的内容可长可短,因此希望实现下图中的效果。- 如果输入内容不超过文本框可显示长度,那么文本框采用初始宽度,固定不变- 如果输入内容过长,超过文本框可显示长度,那么调整文本框宽度,确保文字可以全部显示
2025-02-28 15:16:31
310
原创 VBA快速提取数据
现在需要在提取每个`类目`中,查找编号最大的`分组`,然后提取该分组中`评分`最高的数据行(假设每个类目中符合要求 数据行是唯一的)。粗略看这个需要,似乎需要需要使用字典对象,排重提取类目,然后再查找最大分组。其实变通一下思路,可以有更简单的实现方法。如果将数据按照前3列依次升序排序,那么表格如下所示,需要提取的数据行进行了高亮标记,不难发现其中的规律,其实就是每个`类目`的最后一行数据。
2025-02-26 14:47:53
313
原创 VBA递归累加求和
对于玩VBA的各位小伙伴来说,很多人对于递归总是有些犯怵,觉得有些无从下手。本博客就和大家用递归做个小任务,希望大家能够更好的掌握递归的相关知识。编程任务:实现1到10的累加。这个实例任务对VBA小白来说也是很友好,不用问DeepSeek,大家应该都可以用常规VBA编程思路实现。
2025-02-26 14:45:26
269
原创 巧妙获取ListBox控件的选中条目(按点击顺序)
实例需求:用户窗体中有两个控件- 列表框:ListBox1,支持多选- 按钮:CommandButton1现在需要记录用户在列表框中选择顺序(不考虑选中后再次点击取消选中的操作),如下图所示。
2025-01-26 12:11:55
440
原创 快速定位数字单元格所在行号
实例需求:工作表中数据位于A1:A17(可能存在空单元格),现在需要定位其最后一个数字单元格的位置,注意需要忽略文本数字单元格(单元格左上角有绿色三角标识),即A9和A14不符合要求。B列备注为了说明A列内容属性,C列为了展示哪些单元格包含公式。
2025-01-26 12:10:14
174
原创 使用VBA实现工作表自定义顺序快速排序
Excel中一直缺少工作表排序功能,如果工作簿中工作表较多时,使用起来有些不方便。有时排序规则也不是简单的拼音排序,那么处理起来就更复杂了。实例需求:工作表名称包含两部分:第1部分为多个字符(英文字母、中文字符、数字)第2部分为数字,位数不确定现在需要按照排序列表对工作表进行排序:规则1:名称包含John的工作表,在名称包含Aman的工作表左侧规则2:对于名称包含Aman的多个工作表,按照序号数字大小排序
2025-01-23 12:09:39
525
原创 Word窗体联动Excel实现级联组合框
在Word中的使用用户窗体(UserForm)定制界面如下图所示,其中控件如下(忽略Label控件):- CompanyName 组合框- Attention 组合框- CommandButton1 按钮现在需要实现级联组合框效果,即用户在 CompanyName 组合框中选中如何一个Company,第二个组合框(Attention)加载相应对应的内容,其数据来自于Excel文件(FileLink.xlsx)中的数据表,如下图所示。
2024-12-25 03:45:46
879
原创 快速汇总Word表格
示例需求:Word文档中的有多个表格,其中最后一个表格为`汇总表格`,其他的为`数据表格`,如下图中左侧所示。现在需要根据`Category1`和`Category2`,在数据表格中查找,如果找到匹配行,那么1. 为数据表中改行创建书签Bookmark2. 在`汇总表格`中记录匹配行位置,例如`表格Table_1中第3行`3. 为上述文字添加超链接指向书签完成后的效果如下图中右侧所示。
2024-12-25 03:43:23
742
原创 快速查找替换整理Word文档
实例需求:Word文档如下图中上半部分所示,现在需要将括号内的文字作为单独段落,并且删除括号,如下图所示。对于这个需求,通常的编程实现思路是使用查找功能先定位括号,然后再逐个处理,插入段落标志,进而删除括号,这个思路肯定可以实现同样的结果,但是代码略多,合理使用Word内置查找替换可以更简洁地解决问题。其实无需使用代码,直接使用Word查找替换功能,也可以解决此问题,如下图所示。
2024-12-21 13:38:33
297
原创 VBA之正则表达式(48)-- 快速拆分中文语句
实例需求:对于任意一段文字,按照中文标点符号拆分为数组,并在立即窗口输出。例如对于如下内容:```本文为博主原创文章,未经博主允许不得转载。访问本人博客123,测试完成```
2024-12-21 13:34:08
396
原创 Excel单元格中自适应填充多图
实例需求:在Excel插入图片时,由于图片尺寸各不相同,如果希望多个图片填充指定单元格,依靠用户手工调整,不仅费时费力,而且很难实现完全填充。如下图中的产品图册,有三个图片,如下图所示。
2024-11-15 12:29:24
1164
原创 借助Excel实现Word表格快速排序
实例需求:Word中的表格如下图所示,为了强化记忆,希望能够将表格内容随机排序,表格第一列仍然按照顺序编号,即编号不跟随表格行内容调整。
2024-11-15 12:27:33
740
原创 Word VBA如何间隔选中多个(非连续)段落
实例需求:Word文档中的有多个段落,段落总数量不确定,现在需要先选中所有基数段落,即:段落1,段落3 ... ,然后一次性设置粗体格式。也许有的读者会认为这个无厘头的需求,循环遍历遍历文档中的段落,设置奇数段落的格式就可以了,确实如此,这是常规实现思路。但是存在的即是合理的,借助`Editor`对象,可以完美实现这个需求。
2024-11-14 12:39:18
932
原创 VBA快速分配多对多编码
实例需求:第二个工作表中的城市编码表(下文中简称为编码表)如左图所示,其中城市数量不确定。第一个工作表中的待填写表格如中图所示,其中首列为非排序状态,并且填写编码时,不应该改变首列的数据顺序。编码填写要求:- 根据地点从编码表中依次编号- 如果城市名称在编码表中不存在,则第二列留空- 如果编码表中对应城市的码已经用完,则第二列留空- 注意:编码表中B列编号并非规律顺序编号
2024-11-14 12:37:17
490
原创 快速遍历包含合并单元格的Word表格
Word中的合并表格如下,现在需要根据子类(例如:果汁)查找对应的品类,如果这是Excel表格,那么即使包含合并单元格,也很容易处理,但是使用Word VBA进行查找,就需要一些技巧。
2024-10-29 12:27:51
735
1
原创 在Excel中如何快速筛选非特定颜色
Excel中的自动筛选是个非常强大的工具,不仅可以筛选内容,而且可以筛选颜色,例如筛选A列红色单元格。但是有时希望筛选除了红色之外的单元格(下图右侧所示),其他单元格的填充色不固定,有几种颜色也不固定,那么内置的自动筛选就无能为力,使用VBA还是可以实现的。
2024-10-29 12:26:13
820
原创 如何使用VBA识别Excel中的“单元格中的图片”(2/2)
如果希望使用VBA操作`单元格中的图片`,非常遗憾的是对象模型中并未提供相应的对象,并且该对象不隶属与`Shapes`或者`Pictures`对象集合。这就带来的一个棘手的问题,如何使用VBA代码判断一个单元格中是否包含`单元格中的图片`。
2024-10-28 10:24:43
863
原创 如何使用VBA识别Excel中的“单元格中的图片”(1/2)
如果希望使用VBA操作`单元格中的图片`,非常遗憾的是对象模型中并未提供相应的对象,并且该对象不隶属与`Shapes`或者`Pictures`对象集合。这就带来的一个棘手的问题,如何使用VBA代码判断一个单元格中是否包含`单元格中的图片`。
2024-10-28 10:21:34
851
原创 使用VBA快速将文本转换为Word表格
Word提供了一个强调的文本转表格的功能,结合VBA可以实现文本快速转换表格。示例文档如下所示。现在需要将上述文档内容转换为如下格式的表格,表格内容的起始标志为`@@@`。.CopyPicture
2024-09-28 12:43:55
735
原创 Excel数据检视——对角线连续数据连线
数据表如下图所示,现需要根据规则,在符合要求的单元格上,添加连线。连续单元格位于对角线方向单元格内容相同连续单元格数量不少于7个
2024-09-24 12:55:17
821
原创 快速循环切换Excel表格数据筛选器
第9行代码判断表格是否启用筛选功能,如果未启用,则第10行代码启用筛选功能。第8行代码获取循环筛选列的Index属性,即该列在表格中的位置序号。第22行代码识别指定关键字,第23行代码清除筛选条件关键字。如果表格是不存在筛选过滤,第17行代码设置首次筛选关键字。如果存在第14行代码获取当前筛选条件的关键字。第13行代码判断指定列是否存在筛选过滤。第12行代码判断表格是否存在筛选过滤。第20行代码与第17行代码功能相同。第5行代码定义循环筛选列的标题。第25行代码应用新的筛选条件。工作表中数据如下图所示。
2024-09-24 12:53:29
369
原创 VBA之正则表达式(47)-- 快速将公式转换为静态值计算
实例需求:工作表I列包含多种计算公式,为了便于演示,将I列公式显示在J列单元格中,现在需要将公式的单元格引用转换为静态值,如K列所示。
2024-08-27 12:59:20
567
原创 VBA之正则表达式(46)-- 解析业务逻辑公式
实例需求:某业务系统的逻辑公式如下所示(单行文本),保存在活动工作表的A1单元格中。现在需要按如下规则提取数据,结果如下所示。- 提取引号之间的的关键字,可能包含空格- 提取相应的操作符合: + - * / = - 提取最后的数字
2024-08-25 21:35:29
378
原创 使用VBA快速创建非规则数据图表
实例需求:工作表中共有4组数据,第一组数据涵盖所有日期,其他3组均为断续数据。现在需要创建如下图所示的线图,由于数据区域是非连续的,因此无法直接创建图表。需要先将数据表按照日期对齐,如下图所示,才能创建图表。
2024-08-25 21:32:58
362
原创 奇怪的Excel单元格字体颜色格式
使用VBA代码修改单元格全部字符字体颜色是个很简单的任务,例如设置A1单元格字体颜色为红色```vbRange("A1").Font.Color = RGB(255, 0, 0)```有时需要修改部分字符的颜色,如下图所示,将红色字符字体颜色修改为蓝色。代码将会稍许复杂,需要使用`Characters`设置逐个字符的字体颜色。
2024-07-24 21:13:23
2019
原创 使用VBA按照指定格式快速整理多段落文档(邮件)
实例需求:客户沟通邮件,需要整理为指定格式,然后粘贴到CRM系统中。通常用户操作分为如下几步:1.拷贝邮件2.粘贴到记事本(或者其他文本编辑器)3.整理格式4.拷贝文本粘贴到CRM系统
2024-07-24 21:11:28
479
原创 使用VBA隐藏图表中的系列
Excel中很多图表相关的操作,并不能通过录制宏得到代码,这个场景中,如下希望开发代码实现自动化,就会无从下手,其实只要找到相关的属性和方法,代码可能并不复杂。Excel的线图如下所示,其中有三个系列(Test1,Test2和Test3)。通常认为系列(Series)对象,没有Visible属性,所有无法直接实现隐藏系列,建议通过设置线和数据点的颜色来实现隐藏,这个变通方案就比较复杂,需要考虑图表区域的背景色,如果背景色不是纯色填充,那么可能就无法实现隐藏了。
2024-06-26 10:53:13
469
原创 快速创建条形热力图
Excel中的条件格式可以有效的凸显数据特征,如下图中B列所示。现在需要使用图表展现热力条形图,如下图所示。由于颜色有多个过渡色,因此手工逐个设置数据条的颜色,基本上是不可能完成的任务,使用VBA代码可以快速创建这种图表。由于数据条是等高的,因此需要增加辅助列,如下图中C列所示。
2024-06-26 10:49:48
395
原创 VBA递归过程快速组合数据
实例需求:数据表包含的列数不固定,有的列(数量和位置不固定)包含组合数据,例如C2单元格为`D,P`,说明`Unit Config`有两种分别为D和P。现在需要将所有的组合罗列出来。
2024-06-25 00:45:39
765
原创 快速清理Word中的嵌套表格
实例需求:Word文档中表格有的单元格中包含嵌套表格(注意其中表格中有合并单元格),如下图所示。现在需要删除单元格顶部的嵌套表格(如上图中的表格1和表格3),如下图所示,如果表格较多,手工操作需要大量时间,而且容易出错。
2024-06-25 00:44:05
697
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人