用DeepSeek自动生成Excel新函数,什么正则、分类求和、颜色求和函数全有了......

Excel精英培讯 2025-02-07 18:47:22

先演示效果,看两个公式。

1、提取数字和金额

=MyReg(B2,"[\d.]+",1)

2、按颜色求和

=SumByColor(E4,C4:C10)

平时我们很难解决,甚至无法解决的表格难题,竟然用很简短的公式搞定了。如果你也想使用这些新函数,就可以让DeepSeek帮你生成想要的任何函数。

以下为详细步骤:

1、打开官网

打开DeepSeek官方(https://www.deepseek.com/) 点击开始对话。

2、提出要求

把你想要的函数告诉它,一定要把要求写清楚。兰色总结的生成自定义函数的提问模板

模板1:

请帮我用VBA编写一个在excel中可以XXX的自定义函数,函数名XXX,参数1....参数2...参数3....。如果某个参数有几个选项,可以用值1XXX,值2XXX.....

模板2:

请帮我用VBA编写一个类似XXXXX函数的Excel自定义函数,

实例:

正则函数

按颜色求和函数

3、生成代码

按回车或点蓝色向上箭头,deepSeek就开始把思考过程和代码一行行显示在屏幕上。最后黑色背景的就是正式的VBA代码,点击复制。

自动生成的正则代码:

Function Myreg(StringValue As String, pattern As String, mode As Long) As Variant' 创建正则表达式对象Dim regex As ObjectSet regex = CreateObject("VBScript.RegExp")' 设置正则表达式属性regex.Global = Trueregex.IgnoreCase = False' 根据模式执行不同的操作Select Case modeCase 1 ' 提取Dim matches As Objectregex.pattern = patternSet matches = regex.Execute(StringValue)' 如果没有匹配项,返回空字符串If matches.Count = 0 ThenMyreg = ""Exit FunctionEnd If' 将匹配项收集到数组中Dim result As VariantReDim result(1 To matches.Count)Dim i As LongFor i = 1 To matches.Countresult(i) = matches(i - 1).valueNext iMyreg = resultCase 2 ' 替换' 使用正则表达式替换匹配项regex.pattern = patternMyreg = regex.Replace(StringValue, "")Case 3 ' 判断' 检查字符串是否符合正则表达式regex.pattern = patternIf regex.Test(StringValue) ThenMyreg = TrueElseMyreg = FalseEnd IfCase Else' 无效模式,返回错误值Myreg = CVErr(xlErrValue)End Select' 清理对象Set regex = NothingEnd Function

按条件求和代码

Function SumByColor(refCell As Range, sumRange As Range) As Variant    ' 返回值类型设为Variant以支持错误值返回        ' 验证参考单元格是否为单个单元格    If refCell.Cells.Count > 1 Then        SumByColor = CVErr(xlErrValue)        Exit Function    End If        Dim sumColor As Long    Dim total As Double    Dim cell As Range        ' 获取参考单元格的背景颜色    On Error Resume Next ' 防止无填充颜色时出错    sumColor = refCell.Interior.Color    On Error GoTo 0        total = 0        ' 遍历求和区域    For Each cell In sumRange        If cell.Interior.Color = sumColor Then            If IsNumeric(cell.Value) Then                total = total + cell.Value            End If        End If    Next cell        SumByColor = totalEnd Function

4、复制到Excel

打开要使用自定义函数的excel文件,开发工具 - Visual basic 打开VBE编辑器,插入 - 模块后把代码粘贴到右则的空白处,关闭新打开的VBE窗口。(WPS需要提前安装WPS VBA插件,网上可以搜到)

5、使用自定义函数

DeepSeek会贴心的提供参数说明,按说明在表格中就可以使用该函数了。

6、保存自定义函数

把文件另存为启用宏的工作簿,这个函数就永久保存在当前工作簿中了。如果其他工作簿也需要使用,按上面的步骤把代码复制过去也保存为该类型工作簿即可。

0 阅读:25
Excel精英培讯

Excel精英培讯

欢迎大家关注我,给我点赞