Excel中VBA相关函数的使用
自定义函数实例-单元颜色求和(字典+自定义函数)
Function COLORSUM(单元格区域 As range, 汇总的颜色 As range)
Set d = CreateObject("Scripting.Dictionary")
For Each Rng In 汇总的颜色d(Rng.Interior.ColorIndex) = ""
Next
For Each ci In d.keysFor Each Rng In 单元格区域If Rng.Interior.ColorIndex = ci Thenr = r + Rng.ValueEnd IfNextNext
COLORSUM = r
End Function
Sub test()
Set d = CreateObject("Scripting.Dictionary")
Set 区域 = Application.InputBox("区域选择", , , , , , , 8)
Set 颜色 = Application.InputBox("颜色选择", , , , , , , 8)
For Each Rng In 颜色d(Rng.Interior.ColorIndex) = ""
Next
For Each ci In d.keysFor Each Rng In 区域If Rng.Interior.ColorIndex = ci Thenr = r + Rng.ValueEnd IfNextNext
MsgBox rEnd Sub
自定义函数实例-反转字符与数字求和(正则+自定义函数)
Function 求和(rng As Range, Optional s As String = "")
Application.VolatileSet regx = CreateObject("vbscript.regexp")
With regx.Global = True.Pattern = "\d" & sSet mat = .Execute(rng)
End With
For Each m In mat
n = n + m * 1
Next
求和 = n
End Function
Function DD(rng As Range) '反转字符
For i = Len(rng) To 1 Step -1a = Mid(rng, i, 1)b = b & a
NextDD = b
End Function
自定义函数实例-提取不重复值(字典+正则+自定义函数)
Function 不重复2(rng As Range, Optional num As Integer = 0)
Set d = CreateObject("scripting.dictionary")
Set regx = CreateObject("vbscript.regexp")
With regx.Global = TrueIf num = 0 Then.Pattern = ".+" '所有值的不重复ElseIf num = 1 Then.Pattern = "[一-龢]+" '汉字不重复ElseIf num = 2 Then.Pattern = "[a-zA-Z]+" '字母不重复ElseIf num = 3 Then.Pattern = "\d+" '数字不重复End If
For Each rn In rngFor Each m In .Execute(rn)d(m.Value) = ""Next
Next
不重复2 = d.keys
End With
End Function
Function 不重复值(rng As Range)
Set d = CreateObject("scripting.dictionary")
For Each rn In rngd(rn.Value) = ""
Next
不重复值 = d.keys
End Function
Excel中VBA相关函数的使用相关推荐
- python和vba操作excel_python调用excel中VBA代码
python中调用excel中的VBA代码,本机需要安装python以及该python版本对应的"pywin32-214.win32-py2.5.exe" #!/usr/bin/e ...
- c语言运行excel中vba程序,VBA代码在WPS上可运行,在EXCEL中报错
本人是一名VBA爱好者兼VBA小白,因工作需要,最近想要做1个EXCEL模板,通过VBA代码自动调用浏览器下载数据,导入EXCEL中进行处理.但在编写VBA代码过程中发现,同样的代码在WPS中可以运行 ...
- Excel中VBA编程学习笔记(一)
1.注释及编码规则 注释: 单引号:可以位于句子结尾或者单独一行: Rem:单独一行 编码规则: 如果VB中的关键字是由多个英文字母组成,则系统自动将每个单词的首字母转换成大写字母,其余字母一律转换成 ...
- Excel中vba 立即窗口使用方法详细介绍
我们在VBE立即窗口中输入命令,回车后立即运行,估计这就是"立即窗口"的由来吧.对Excel感兴趣的朋友可加Excel学习交流群:284029260 第一,如何显示vba 立即窗口 ...
- Excel中VBA操作工作表相关
VBA中已有工作簿合并表格数据 Sub 合并目录所有工作簿全部工作表() On Error Resume Next Dim MP, MN, AW, Wbn, wn Dim Wb As Workbook ...
- 提高Excel中VBA效率的四种方法
由于Microsoft Office办公套件的广泛应用,以及该软件版本的不断提升,功能不断完善,在Office办公套件平台上开发出的的VBA应用程序越来越多,而VBA是一种宏语言,在运行速度上有很大的 ...
- 在EXCEL中VBA编程检验身份证号码有效性
*2022-12-05 改正代码中错别字,规范表述 *2022-11-30 1.增加了过程clearB()用来清除B1:Bx原有的出错说明,在过程examIdentityCard() 开头调用 2.修 ...
- Excel 中VBA 合并报表案例
今天财务小姐姐找到我,让我帮忙用VBA 写一个合并文件夹下的Excel 文件(*.xlsx 和 *.xls),方便她整理报表. 需求如下:所有源文件有三个sheet,其中第一个sheet 需要合并, ...
- Excel中VBA编程学习笔记(十一)--正则表达式
在VBA中使用正则表达式受限需要引用Microsoft VBScript Regular Expressions 5.5类库.在VBA界面,"工具"-->"引用&q ...
- 解决Excel中VBA批量打印速度慢的问题
iamlaosong文 VBA循环打印对账单时,循环一次发出一个打印命令(本应用只打印一页),导致打印速度很慢,时间都浪费在电脑与打印机握手上面了.要解决这个问题,一种方法是打印前将内容合并,另一种方 ...
最新文章
- python-django框架中使用docker和elasticsearch配合实现搜索功能
- 大四 PHP《上传文件》
- mysql生产环境运维方案_[MySQL生产环境] Innodb存储引擎内存报警问题处理过程
- animation动画不生效_SwiftUI动画(1)之Animatable
- [Swagger2]SpringBoot集成Swagger
- telnet linux 命令详解,解析Linux Telnet命令
- C# 结合 PInvoke 对接 IP 摄像头的笔记
- CodeForces 297A Parity Game (脑补题)
- android 动画后的位置,Android:Comp之后会重置动画位置
- 井通swtc能不能涨到2元_玉米收购价最高涨110元一吨,节后玉米能否破1.2?收购商说得有理...
- 网站流量少的原因及解决方案
- Linux报文硬件时间戳,linux 时间戳,打戳代码分析,用于PTP报文协议(示例代码)...
- windows安装telnet工具
- 泰拉瑞亚服务器config修改,《泰拉瑞亚》游戏配置怎么修改 游戏配置修改办法推荐...
- 2021-03-13 java八大基本数据类型
- “知识共享”早期版本是什么样子?
- 目标函数(object function),损失函数(loss function)以及代价函数(cost function)之间的关系与区别
- 力天创见客流方案分析
- java.lang.NoClassDefFoundError: com.unionpay.sdk.UPAgent银联开发
- 大数据Kylin(二):Kylin安装使用