VBA函数

自定义函数VBA

输出相同函数

按alt+f11 右键新建一个模块

查找相同

Function 查找相同(rg1 As Range, rg2 As Range)

For i = 1 To Len(rg1.Value)

    If InStr(rg2, Mid(rg1.Value, i, 1)) > 0 Then

        a = a & Mid(rg1, i, 1)

    End If

Next

查找相同 = a

End Function

判断是否一致:

=IF(OR(ISERROR(FIND(A1,B1,1)),ISERROR(FIND(B1,A1,1))),"一样","不一样")

=IF(OR(ISNUMBER(FIND(A1,B1,1)),ISNUMBER(FIND(B1,A1,1))),"一样","不一样")

FIND(A1,B1,1)左边是否包含右边

FIND(B1,A1,1)右边是否左边

ISNUMBER(FIND(A1,B1,1)

提取第一个汉字及其之后的所有内容:

1.数组公式:=MID(A2,MATCH(1=1,LENB(MID(A2,ROW($1:$25),1))=2,),25)

 

使用组合键Ctrl+Shrift+Enter

 

2.VBA函数:

Sub CommandButton1_Click()
 Dim arr, brr(), str$, mr%
 mr =Range("a65536").End(xlUp).Row
 arr = Range("a2:a" &mr)
 ReDim brr(1 To UBound(arr))
 For i = 1 To UBound(arr)
   For j = 1 To Len(arr(i, 1))
     str = Mid(arr(i, 1), j,1)
     If VBA.Asc(str) < 0Then
        brr(i) = Mid(arr(i, 1), j,Len(arr(i, 1)))
        Exit For
     End If
   Next j
 Next i
 Range("e2:e" &mr).ClearContents
 Range("e2").Resize(UBound(brr), 1) =Application.Transpose(brr)
End Sub

 

<think>好的,我现在需要帮助用户学习VBA函数的用法,包括教程、示例和语法。首先,我需要根据用户提供的引用内容来整理相关信息。用户引用了三个资料,其中引用[1]和[3]是关于VBA函数的,引用[2]是Python的,可能不需要考虑。 用户提到想了解VBA函数的使用教程、示例和语法。我应该先介绍VBA函数的基本概念,然后分点讲解常用函数,比如InStr、Mid、Left、Right等,每个函数都给出语法、示例和说明。需要确保每个示例都符合用户提供的引用内容,比如引用[3]中的Mid函数示例。 需要注意系统级指令,比如数学公式的格式,但VBA函数可能不涉及太多数学表达式,所以可能用不上。但如果有变量或代码,需要用行内代码块。同时,回答需要用中文,结构清晰,分步骤讲解。 接下来,我需要确认每个引用是否正确应用。例如,引用[1]中的InStr函数的语法,引用[3]中的Mid函数示例。需要将这些引用自然地融入到内容中,并在引用处添加标识。 可能还需要生成相关问题,比如如何调试VBA函数、处理错误、优化性能等。这些问题应该与VBA函数的使用相关,帮助用户进一步学习。 最后,检查是否符合所有格式要求,比如代码块使用正确,引用标识正确放置,没有使用Markdown格式,分点清晰,语言流畅自然。</think>以下为VBA函数使用方法的系统化讲解: 一、VBA函数基础概念 VBA函数可分为内置函数和自定义函数两类,内置函数如$InStr$、$Mid$等可直接调用,自定义函数需通过`Function`关键字创建[^3]。 二、常用函数详解 1. **InStr函数** - 字符串查找 语法:`InStr([start], string1, string2, [compare])` ```vba Dim pos As Integer pos = InStr(1, "Hello World", "W") '返回7[^1] ``` 说明:`compare`参数可指定文本比较方式(如vbTextCompare忽略大小写) 2. **Mid函数** - 截取子字符串 语法:`Mid(string, start[, length])` ```vba Dim result As String result = Mid("ABCD1200456", 7, 2) '返回"00" ``` 此函数常用于处理固定格式数据提取 3. **Left/Right函数** - 截取首尾字符 ```vba Left("Excel",2) '返回"Ex" Right("Data",3) '返回"ata" ``` 三、自定义函数示例 创建计算圆面积的函数: ```vba Function CircleArea(r As Double) CircleArea = WorksheetFunction.Pi * r ^ 2 End Function ``` 调用方式:`=CircleArea(5)` 四、调试技巧 1. 使用`MsgBox`显示中间值 2. 设置断点按F8逐行调试 3. 使用`Debug.Print`在立即窗口输出结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值