首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VBA实用小程序55: 计算一个或多个分隔符字符串分隔成文本块数

学习Excel技术,关注微信公众号: excelperfect 下面的自定义函数:CountBlock函数,可以根据提供一个或多个分隔符进行查找,得到这些分隔符字符串分隔成文本块数。...CountBlock函数代码: ' ---------------------------------------- '参数strText:给出文本字符串 '参数strDelimiter:文本字符串分隔符...函数来源于《VBA代码库07:功能强大字符替换函数》。...其中iCountString函数来源于《VBA实用小程序54:计算字符串中指定子字符串出现次数》。 上述测试代码及结果如图1所示。 ?...图2 CountBlock函数很巧妙,它没有像通常那样遍历,而是文本字符串中不同分隔符统一换成分隔符参数中第1个分隔符,然后通过计算这个分隔符数量来得出分隔块数。

1.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

EXCEL必备工具箱17.0免费版

EXCEL必备工具箱--跨表提取行功能,帮你从相同格式多张表格中提取关键字一样行到一个表中 EXCEL必备工具箱--强制读取VBA代码,绕过EXCEL安全机制,无论采用何种保护措施,都可以直接读出VBA...,方便复制时忽略隐藏内容,或者只复制显示筛选结果 EXCEL必备工具箱--文本与数值转换功能,快速实现将文本格式数字转换成数值,或数值转换成文本格式 EXCEL必备工具箱--真正四舍五入功能,屏幕上显示数据就是实际运算数据...EXCEL必备工具箱--选取内容代码功能,获取ASCII码对应字符功能,方便VBA代码编写人员 EXCEL必备工具箱--添加函数功能,自定义函数让你如虎添翼 EXCEL必备工具箱--与EXCEL紧密结合计算器...Excel必备工具箱在线帮助关于使用了“禁用宏就关闭文档功能”出现问题解决 EXCEL必备工具箱--区域文本重排功能,圆你用excel写大段文章梦想 Excel必备工具箱--汉字拼音功能,汉字批量转换成拼音...EXCEL必备工具箱--轻松隐藏/取消隐藏工作表Excel必备工具箱--按工作簿汇总功能,多个文档相同位置数据加到一起 EXCEL必备工具箱--从文本中逐个挑出数值功能,众里寻她千百度,文本堆中挑出数

5.2K40

个人永久性免费-Excel催化剂功能第33波-报表形式数据结构标准数据

对这些报表类型数据合并,还不同于简单工作薄合并那样,每个工作表里存放都是标准流水式记录单数据。无法简单地复制粘贴工作用代码自动化实现。 ? 类似报表形式原始数据结构 ?...当遇上一有多条记录时,结果表以横向展开方式存放 功能操作指引 前面描述到业务场景,用代码实现,其实大部分会一点VBA的人,应该都可以写出来,达到能用水准。...按提示选择新建新表还是覆盖现有表 转换后结果表,原数据中一个工作表转换为一条记录(后期再优化父子表结构转换可转换多条记录,更符合数据分析场景使用),另加上文件名和工作表名两以示区分数据来源。...转换后结果表 隐藏细节处理部分 前面说到,报表格式标准数据源格式,知道了思路,基本可以自己简单写几句VBA代码得到想要结果。...前提条件是数据量不大情况下可接受 读取Excel文件,若使用COM方式来读取,大批量文件处理来说,肯定会有性能瓶颈,所以Excel催化剂一开始就不打算用原生ExcelVBA对象模型来操作,改换为使用不依赖于

1.5K40

Excel VBA 操作 MySQL(一,二,三,四)

Excel VBA操作MySQL之七——从文本文件导入数据数据导出至文本文件演示如何从文本文件导入数据到MySQL数据库,并将数据导出至文本文件。...Excel VBA操作MySQL之十二——获取数据库模式信息演示如何获取有关MySQL数据库模式信息,如表格结构、信息等。...Excel VBA操作MySQL之十四——AppendChunk、GetChunk存取文本和图片二进制数据介绍如何使用Excel VBA处理MySQL数据库中文本和图片二进制数据。...示例中服务器地址、数据库名称、用户名和密码替换为自己MySQL数据库信息。然后,你可以在打开连接之后执行各种数据库操作了。...以下是创建数据库和表格示例代码:首先,确保已经建立了与MySQL数据连接(如前面示例所示),然后可以使用以下代码创建数据库和表格。

49221

VBA一维表二维表

前面说过了二维表一维表,现在来看看一维表二维表。 1、需求: 1个一维表格转换为二维表格: ? 2、实现方法: 数据透视表 要实现这个方法,其实熟练数据透视表处理起来是非常简单: ?...SQL语句 会SQL语句处理起来也很简单,只要明白SQL语句就可以: transform sum(数据) select 项目 from [Sheet1$] group by 项目 pivot 姓名...VBA代码实现 使用VBA代码来实现自然也是没有问题,使用字典来分别记录行和序号,然后输出到1个二维数组就可以: Sub TarnsTable2() Dim drow As Object...Cells.Rows.Count, 1).End(xlUp).Row arr = Range("A1").Resize(i_row, 3).Value '记录项目的行号、姓名号...i = 0 To drow.Count - 1 result(i + 2, 1) = tmp(i) Next tmp = dcol.keys() '

1.7K30

个人永久性免费-Excel催化剂功能第47波-VBA开发者喜爱加密函数

VBA代码中调用加解密函数方法 说到重点,VBA开发者可能更多场景还要回到自己在VBA代码中想要调用其他语言开发好函数,例如此篇自定义函数。...总结 在我过往发表众多自定义函数里,大部分直接照搬了.Net Framework类库里函数,让其能够在Excel环境以自定义函数形式来使用,当中也收到许多反馈说能用自定义函数的人都自己写VBA代码...,不会写代码的人也没必要用自定义函数,文件分发出问题等等如此这般回复。...第32波-空行空批量插入和删除 第33波-报表形式数据结构标准数据源 第34波-提取中国身份证信息、农历日期转换相关功能 第35波-Excel版最全单位换算,从此不用到处百度找答案 第36波-新增序列函数用于生成规律性循环重复或间隔序列...Excel催化剂 Excel催化剂先是一微信公众号名称,后来顺其名称,正式推出了Excel插件,插件持续性地更新,更新周期视本人时间而定争取一周能够上线一个大功能模块。

3.1K10

VBA数组用法案例详解

具体操作1、VBA数组定义方法下面是几种数组常用定义方法,一维数组定义、二维数组定义直接赋值定义、调用Array函数定义、调用Excel工作表内存数组''''''''''''直接定义给数组赋值'...arr2(2, 2) '读取arr1数组第2行第2数值End Sub2、数组赋值和计算'读取单元格数据到数组,进行计算,再赋值给单元格Sub arr_calculate()Dim arr    ...",") '查看筛选结果End Sub5、数组维度转换(Transpose)'数组维数转换 '一维二维Sub arr_tranpose1()arr = Array(10, "vba", 2, "...b", 3)arr1 = Application.Transpose(arr)MsgBox arr1(2, 1) '转换后数组是1多行二维数组End Sub '二维数组一维 '注意:在置时只有...数组还是很强大,通过对单元格区域数据读取,赋值给数组,再利用数组函数或者调用Excel内置函数进行相关处理。

1.8K00

一个VBA自定义函数,使用文本格式连接唯一值单元格

标签:VBA实用代码 一个单元格区域内有一组数字,这些数字中存在多个相同数字,想要将这些数字中唯一值提取出来并组合成一串数字文本,如下图1所示。...图1 可以使用VBA编写自定义函数来实现,代码如下: Function ConcatenateUnique(ByRef rngRange As Range, _ Optional ByVal...ConcatenateUnique = strAnswer End Function 这个函数指定单元格区域中唯一值使用可选格式字符串连接起来。...如果未指定格式字符串,则被视为字符串(@)。此函数在每个值之间插入分隔符字符串,默认分隔符设置为” ”。 这段代码来自strugglingtoexcel.com。...通常,我们会考虑使用Dictionary对象,在连接符合要求值之前获取唯一表。然而,这段代码另辟蹊径,使用了VBAInStr函数,在连接之前检查是否已将值添加到结果中,如果没有则添加。

1.7K20

VBAvbNullString认识API参数传递

VBA再写个简单测试代码又会发现奇怪地方: Sub TestNullString() Dim str As String Debug.Print str, str = "", str...这里只能进行猜测了,VBA在比较2个字符串时候,可能是先读取长度,如果都为0,则判断为相同了,""和vbNullString在使用LEN函数时候,返回都是0。 那么,它们2个不同之处在哪里呢?...API String类型参数传递 从帮助文件中知道,vbNullString 值为 0 字符串,如果真的传递0过去,很明显也是不行数据类型就不对,所以这个只是一个标志,VBA编译器会具体去处理这种情况...VBA会帮使用者VBAString类型首先从Unicode转换为ANSI编码,然后取出转换后Char数组第一个地址,再将这个地址传递给了API,API如果有返回值,VBA就会做一个相反操作,测试代码...67244 新建文本文档.txt - 记事本 0 新建文本文档.txt - 记事本 67244 这里声明了一个FindWindowByPtr函数,只是把FindWindow参数由String

1.7K10

个人永久性免费-Excel催化剂功能第39波-DotNet版正则处理函数

为何要使用正则表达式 正则表达式在字符串处理中,是一大利器,从复杂杂乱字符串内容中,提取出有用符合要求信息,仅使用Excel自带文本处理函数如LEFT/RIGHT/MID/SUBSTITUTE...相对其他非Excel环境来说,只是简单一个自定义函数即可调用,无需找各种编程环境来实现,实用性方面还是很强。 DotNet版正则表达式和VBA版有何不同?...RegexMatch函数用法示例 RegexMatchs函数 相对RegexMatch仅返回一个匹配值,此函数返回是所有匹配值,并可控制是按还是按行方式返回多值 ?...第32波-空行空批量插入和删除 第33波-报表形式数据结构标准数据源 第34波-提取中国身份证信息、农历日期转换相关功能 第35波-Excel版最全单位换算,从此不用到处百度找答案 第36波-新增序列函数用于生成规律性循环重复或间隔序列...插件,插件持续性地更新,更新周期视本人时间而定争取一周能够上线一个大功能模块。

1.1K30

个人永久性免费-Excel催化剂功能第43波-文本处理类函数增强

也只是醉了,这样功能,随便一个VBA学习者都能写得出来。...StringJoinIf函数参数 TextSplit 前面是拼接字符串,此函数相反是拆分字符串,TextSplit返回一个值,返回值由最后参数控制, TextSplits返回所有值,返回结果可按行或按排列...其他简单文本处理函数示例 提取替换函数 分别对常用数字、中文、英文作了单独函数封装,在第25波文本处理功能时也有过相应实现,不过那不是自定义函数,对原始数据有破坏作用,一般建议用函数新开一来处理数据更为合适...替换指定字符串函数参数说明 总结 一口气发布了众多文本处理函数,可想而知,日常文本处理过程繁杂程度,函数越多,效率越高。较Excel挤牙膏式新增函数速度,不要想有多大提升空间。...第32波-空行空批量插入和删除 第33波-报表形式数据结构标准数据源 第34波-提取中国身份证信息、农历日期转换相关功能 第35波-Excel版最全单位换算,从此不用到处百度找答案 第36波-新增序列函数用于生成规律性循环重复或间隔序列

1.2K30

VBA中最强大命令:Evaluate

也就是说: [A1:A6].Select 等同于: Evaluate("A1:A6").Select 这样,上文中第一段代码可简化为: MsgBox [SUM(A1:A6)] 这些括号,就像是VBA单元格...还有一个“秘密”就是,也可以在定义单元格区域名称中使用EVALUATE,因此有一些方法可以在不使用VBA情况下访问单元格公式中EVALUATE功能。...Evaluate基本功能如下: 1.数学表达式字符串换为值。 2.一维和二维字符串数组转换为它们等效数组。 3.能够处理工作表单元格可以处理任何公式。 真的,它可以做单元格能做任何事情!...它包含工作表单元格所有功能,而“该单元格”包含在VBA命令中。事实上,它甚至可以做单元格不能做事:可以返回整个数组。...'允许一个文本框里包含另一个文本框要用公式 Private Sub TextBox1_Change() On Error Resume Next TextBox2.Value = Evaluate

65420

VBA代码水平单元格区域转换成垂直单元格区域

标签:VBA 下图1所示是一个常见需求,在多个中放置着每个月份数据,需要将月份移到单个中,同时保留报表中所有描述性信息。...图2 这可以使用一个简单VBA程序来实现。首先,需要两个数组,一个保存原始数据,另一个新格式化数据放在其中。...在此之后,需要循环遍历15(3个描述性和12个数字)。ar变量中这15换为输出变量var中5数据集,然后数据输出到Output工作表。...For j=4 To 15 这是第4(Jan)到第15(Dec)。 接下来两行是计数器和使变量var动态语句。...这是一个运行速度非常快过程。最后一步是置: sh.

1.3K30

一文快入VBA——一个VBA数据处理小程序解析

区域选择及地址格式,在VBA写作过程中,经常不能够程序写死,需要保留一定灵活性,因此再用Selection.Address就可以动态地告诉程序,从而给出较大变动余地。...变量定义,VBA中可以使用未定义变量,但是推荐对其进行预先定义,定义方法是Dim加变量名加As加变量类,比如在示例里面,currentCell界定为Range。...VBA提供数组动态变动方法,因此在变量时候,无需对长度进行定义,比如Dim string0。...单元格定位函数是非常重要,一般来说,Cells和Offset是比较常用,因为Excel中绝对位置发生不一致,因此Offset是一定相对定位方法,意思即为向行和分别一定多少。...字符串操作函数字符串操作是无比重要,比如在本例中,使用了Split函数来分割字符串,形成字符串数组。 数字操作函数,Sgn是一个非常有用函数,它会告诉你数据正负号,在数据操作中,非常有用。

2.5K70

个人永久性免费-Excel催化剂功能第25波-小白适用文本处理功能

其中特殊点在于数字可以表示为数值和文本还种,文本型数字不能进行计算汇总,需转换为数值,而身份证类数字,最好保存为文本,防止15位数据有效性原因丢失数据精度。...正则匹配与替换 在字符串处理世界中,没有比正则表达式处理更合适了,若想从各种奇葩文本字符串中找寻想要信息,最好还是静下心来,学习掌握下正则表达式....替换匹配字符 此处为把匹配到文本,替换为【正则替换参数】,若留空进行删除操作,替换为空字符就是删除了原匹配到内容。...替换功能会把所有匹配到内容组都进行替换,和上面保留匹配字符仅取首次匹配到内容不同。如上例中,匹配中文,替换为空,只剩下【B】字。 正则查询 ?...只需鼠标双击Pattern内容对应行位置,即可把内容保存到剪切板内,写正则自定义函数时可粘贴出来使用。 ?

1.6K30
领券