excel宏的用法

在不少时间excel中并没有一些我们想要的函数,这时候我们可以在*.xls[x]的中定义宏,定义了宏后需要注意两项问题:

  • 1)文件需要保存为*.xlsm(否则保存为*.xls[x]会丢失宏函数);

  • 2)再次打开*.xlsm时,会提示是否启动宏,必须启用才能使用宏,否则将会禁用宏。

在*.xls[x]中定义宏函数:

我这里希望对一个字符串拆分,比如:希望将A列中‘[1, 2, 3, 10, 11]’的数据拆分为C,D,E,F,G 5列。

此时在excel的菜单-》工具-》宏-》Visual Basic 编辑器

 之后会打开宏编辑器,在菜单-》插入-》模块,插入“模块1”,“模块2”

在模块1中写入拆分函数:

复制代码
Function splitFunc(Rng As Range, splitChar As String, idx As Integer) As String
    Dim replaceChar As String
    '替换[、]
    replaceChar = Replace(Rng.Text, "[", "")
    replaceChar = Replace(replaceChar, "]", "")
    
    '按照指定字符串进行分割,然后返回指定分割后数组项
    splitFunc = Split(replaceChar, splitChar)(idx)
End Function
复制代码

用法:

在模块2中写入是否连续判断函数:

复制代码
Function isLinkNum(Rng1 As Range, Rng2 As Range, Rng3 As Range, Rng4 As Range, Rng5 As Range) As Integer
    Dim c1 As Integer
    Dim c2 As Integer
    Dim c3 As Integer
    Dim c4 As Integer
    Dim c5 As Integer
    
    c1 = CInt(Rng1.Text)
    c2 = CInt(Rng2.Text)
    c3 = CInt(Rng3.Text)
    c4 = CInt(Rng4.Text)
    c5 = CInt(Rng5.Text)
    
    If ((c5 - c4 = 1) And (c4 - c3 = 1) And (c3 - c2 = 1) And (c2 - c1 = 1)) Then
        isLinkNum = 1
    Else
        isLinkNum = 0
    End If
End Function
复制代码

用法:

 



感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接
posted @   cctext  阅读(1390)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示