Instr函数

一. 定义

InStr 函数
返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。

InStr([start, ]string1, string2[, compare])
InStr 函数的语法具有下面的参数:
start        可选参数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个字符的位置开始。如果指定了 compare 参数,则一定要有 start 参数。
string1        必要参数。接受搜索的字符串表达式。
string2        必要参数。被搜索的字符串表达式。
Compare可选参数。指定字符串比较。如果省略 compare,Option Compare 的设置将决定比较的类型。
compare 参数设置为:
常数                                值        描述
vbUseCompareOption        -1        使用Option Compare 语句设置执行一个比较。
vbBinaryCompare                0        执行一个二进制比较。
vbTextCompare                1        执行一个按照原文的比较。
vbDatabaseCompare                2        仅适用于Microsoft Access,执行一个基于数据库中信息的比较。

二. 例子代码:
Sub 示例_1_18()
        Dim bssString, yczChar, wz
        bssString ="ABpAApCDPBBP"   
        yczChar = "P"   
               
        MsgBox "bssString = "" ABpAApCDPBBP """ & Chr(10) & _
            "yczChar= ""P"" 时: " & Chr(10) & Chr(10) & _
            "InStr(4, bssString, yczChar, 1) 返回值为 " & _
            InStr(4, bssString, yczChar, 1)
        wz = Instr(1, bssString, yczChar, 0)
        wz = Instr(bssString,yczChar)    ' 返回 9。
     wz = Instr(1, bssString, "W")    ' 返回 0。
End Sub
三、例子代码详解
1、Sub 示例_1_18():宏程序的开始语句。宏名为示例_1_18。
2、Dim bssString, yczChar, wz    :变量bssString、yczChar和ws声明为可变型变量。
3、bssString ="ABpAApCDXPBBP"   : 把被搜索的字符串赋给变量bssString。
4、yczChar = "P"   : 把要查找的字符P赋给变量yczChar。
5、MsgBox "bssString = "" ABpAApCDPBBP """ & Chr(10) & _
"yczChar= ""P"" 时: " & Chr(10) & Chr(10) & _
"InStr(4, bssString, yczChar, 1) 返回值为 " & _
InStr(4, bssString, yczChar, 1): 用消息框显示从第四个字符开始,以文本比较的方式找字符P,返回值为 6(小写 p的位置)。小写 p 和大写 P 在文本比较下是一样的,也就是当函数的最后一个参数为1时,查找不分大小写。把要查找的字符P的位置赋给变量yczChar。式中Chr(10)是换行符。
6、wz = Instr(1, bssString, yczChar, 0)   :从第一个字符开始,以二进制比较的方式查找,返回值为 9(大写 P的位置)。小写 p 和大写 P 在二进制比较下是不一样的,也就是当函数的最后一个参数为0时,查找分大小写。把查找到的字符P的位置赋给变量wz。
7、wz = Instr(bssString, yczChar)   :上一句也可写成这样的,因为缺省的比对方式为二进制比较(最后一个参数可省略)。第一个参数省略默认从第一个字符开始查找。返回值为 9。
8、wz = Instr(1,bssString, ”W”)   :在被搜索的字符串中查找字符W,由于没找到返回值为0。

Mid函数

一. 定义

mid是用来从文本中的第几位开始取几个字符的函数,其他相关的有left()和right(),

二. 语法

mid(string,start[,length])

string:字符串对象

start:是个数子,从左数的第几个数字开始

length:也是个数子,你要取几个字符,可不填,默认为全部

三. 示例:
Dim MyString, FirstWord, LastWord, MidWords
MyString = "Mid Function Demo"   
FirstWord = Mid(MyString, 1, 3)    ' 返回 "Mid"。
LastWord = Mid(MyString, 14, 4)    ' 返回 "Demo"。
MidWords = Mid(MyString, 5)    ' 返回 "Funcion Demo"。

  1.  

Excel VBA 函数的更多相关文章

  1. Excel VBA入门(六)过程和函数

    前面讲过,VBA代码有两种组织形式,一种就是过程(前面的示例中都在使用),另一种就是函数.其实过程和函数有很多相同之处,除了使用的关键字不同之外,还有不同的是: 函数有返回值,过程没有 函数可以在Ex ...

  2. 把excel每一行中的数据输出为一个txt文档的VBA函数

    excel vba代码: Sub makeTxt() For i = 1 To 1088'从第1行到1088行(最后一行) On Error Resume Next'出现错误时继续运行脚本 Open ...

  3. 浅谈Excel开发:四 Excel 自定义函数

    我们知道,Excel中有很多内置的函数,比如求和,求平均,字符串操作函数,金融函数等等.在有些时候,结合业务要求,这些函数可能不能满足我们的需求,比如我想要一个函数能够从WebService上获取某只 ...

  4. 来吧!带你玩转 Excel VBA

    来吧!带你玩转 Excel VBA 从错失良机到艰辛的DOS征程,从坎坷购机自学路到转机起程,从爱好到事业,他从一个完全不懂电脑的人到VBA高级应用者,一切全是自学…… 我是罗刚君,来自四川的一个小县 ...

  5. Excel 自定义函数

    浅谈Excel开发:四 Excel 自定义函数   我们知道,Excel中有很多内置的函数,比如求和,求平均,字符串操作函数,金融函数等等.在有些时候,结合业务要求,这些函数可能不能满足我们的需求,比 ...

  6. 2017-5-29 Excel VBA 小游戏

    ---恢复内容开始--- 转一个Excel VBA的小游戏,最近对excel有了更深入的了解,功能很强大,也刷新了我对待事情的态度. 一.准备界面 我们先来把游戏界面准备好,选中前4行,行高调成50, ...

  7. 使用Excel VBA编程将网点的百度坐标转换后标注到高德地图上

    公司网点表存储的坐标是百度坐标,现需要将网点位置标注到高德地图上,研究了一下高德地图的云图数据模版 http://lbs.amap.com/yuntu/reference/cloudstorage和坐 ...

  8. Excel VBA附合导线平差自动计算表

    这是6,7年前做的一个excel vba自动计算附合导线平差的表格. 对于做测绘的朋友来说,附合导线平差是最基础的技能,目前来说,能平差的软件和工具也很多,像南方的平差易,科傻平差.清华三维平差等,但 ...

  9. Excel VBA(宏):添加宏

    写在前面: .编写宏,打开VBA,双击ThisWorkbook对当前工作薄进行编写宏:双击Sheet1,对整个sheet编写宏: 或者创建模块,在模块里,编写.调试代码. 打开VBA的方法见第一讲,结 ...

随机推荐

  1. 第五课 CSS3 and H5 知识点

    概要:CSS3美化样式.自定义字体图标.滤镜设置.CSS3选择器.transform2D转换.新增表单控件.vaild表单验证.表单样式美化等. 属性选择器: E[attr]只使用属性名,但没有确定任 ...

  2. CSS布局经典—圣杯布局与双飞翼布局

    在我之前的博客网页整体布局完全剖析-剖完你不进来看一下么?中总结单列.两列.三列固宽与变宽布局,我还以为已经囊括了所有经典的网页布局方法了呢,当然除了CSS3的弹性盒模型没有涉及到,现在看来确实是自己 ...

  3. 2016-11-05实战-定义ssh服务的日志

    1.编辑/etc/rsyslog.conf 输入 local 0 .*     /var/log/sshd.log   #日志的保存路径 2.定义ssh服务的日志级别 编辑sshd服务的主配置文件:/ ...

  4. DataGridView控件行标题显示序号

    Rectangle rectangle = new Rectangle(e.RowBounds.Location.X, e.RowBounds.Location.Y, dataGridViewX1.R ...

  5. PostSharp 4.0注册机实现过程

    PostSharp是基于.NET平台设计的比较强调易学易用的AOP框架. 什么是AOP? http://wayfarer.cnblogs.com/articles/241024.html 新版的已失效 ...

  6. android二维码生成

    前生: 一维码:条形码  数字 缺点:不好看,占面积, 好了,请看效果图: 在准备之前我们要导一个包:core-3.2.1.jar 下载请访问: http://download.csdn.net/do ...

  7. Ubuntu14.04 CUDA8.0 CUDN4.0 NVIDIA1080 多种深度框架(懒人三步装) - 从入门到放弃

    这是一个懒人快速安装教程,1080卡有点麻烦,因为cuda需要8.0.为了安装方便直接把命令写成三个shell脚本. 代码基本是http://blog.csdn.net/langb2014/artic ...

  8. three.js全景

    <!DOCTYPE html> <html lang="en"> <head> <title>three.js webgl - eq ...

  9. 【转】Oracle执行计划解释

    Oracle执行计划解释 一.相关的概念     Rowid的概念:rowid是一个伪列,既然是伪列,那么这个列就不是用户定义,而是系统自己给加上的. 对每个表都有一个rowid的伪列,但是表中并不物 ...

  10. 利用注解来保存uri

    一直对getRequestURI()与getRequestURL()理解不透彻,因此今天通过查找资料,现将些许收获分享一下: [非原创]代码搬运工..(*^__^*) 1.request.getSch ...