自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

神奇的BI

点滴知识分享

  • 博客(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

原创 快速插入汇总行

现在需要针对每个类别(Category)添加汇总行,如第4行所示,注意每个类别包含的数据行数不确定。

2025-01-23 12:13:19 182

原创 使用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可以实现文本快速转换表格。示例文档如下所示。![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/9b21dd10843948b7ae05e42f35989672.png)现在需要将上述文档内容转换为如下格式的表格,表格内容的起始标志为`@@@`。![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/1687d4a1d67242778dc85eedeb3eee3e.

2024-09-28 12:46:54 784

原创 使用VBA快速生成Excel工作表非连续列图片快照

大家都知道VBA中Range对象有CopyPicture方法可以拷贝为图片,但是如果Range对象为非连续区域,那么将产生1004错误,例如:Range("A2:A15,D2:D15").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

原创 如何快速判断Excel中选区跨页?

实例需求:应用开发过程中,需要校验选中区域,要求选中区域不能跨页,即选中区域分布在两个不同的页面中。

2024-08-27 13:52:38 582

原创 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

原创 快速创建柱状热力图(色阶梯度色谱)

示例数据如下图所示,第二列设置了色阶条件格式。现在需要创建使用色阶梯度颜色的柱形图,如下图所示。

2024-07-29 20:36:19 363

原创 VBA快速对比数据行

实例需求:对于存在多行数据(示例中为双行)的项目,对比同一个项目的每列数据,高亮显示数据不同的单元格。

2024-07-29 20:13:15 589

原创 奇怪的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

Excel工作表中的特殊按钮示例文件

Excel工作表中的特殊按钮,无需任何代码实现点击按访问网站

2022-10-07

JSON示例数据文件

JSON数据示例文件,演示如何使用VBA解析复杂JSON数据。

2019-08-13

VBA绘制多边形

VBA示例文件,用于在Excel和Word中绘制多边形,多种实现方法。

2018-02-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除