精华内容
下载资源
问答
  • VBA统计字符串出现的次数

    千次阅读 2020-04-19 21:27:52
    今天我要给大家分享一个示例:统计出某个字符串在某表某字段中出现的次数。 大家先来看一下结果效果图: 先来讲一下原理,其实就是循环数据库中的所有表,然后找模糊查找,找到了就记录表名、表中的字段、...

    手机边亲爱的大家好!

    今天我要给大家分享一个示例:统计出某个字符串在某表某字段中出现的次数。

     

    大家先来看一下结果效果图:

     

     

    先来讲一下原理,其实就是循环数据库中的所有表,然后找模糊查找,找到了就记录表名、表中的字段、统计出现的次数。

     

    知道了原理就可以开始做了,今天我们换个套路,不要再之前一步一步的方式来教大家了,只告诉关键的步骤。

     

    01建表

    其中,我们要建一张表,用于保存统计的数据,具体的查看截图。

    02添加函数

    这次代码只分享给大家一个关键的函数,然后大家自己去调用一下

    查找函数

     1Private Sub Snoop(SnoopFor As String)
     2
     3    On Error GoTo Snoop_Err
     4
     5    Dim DB As Database
     6    Dim S As Recordset
     7    Dim T As Recordset
     8    Dim td As TableDef
     9    Dim L As Integer
    10    Dim F As Integer
    11    Dim criteria As String
    12    Dim occ As Long
    13
    14    Set DB = CurrentDb()
    15    Set S = DB.OpenRecordset("tblSNOOP", DB_OPEN_DYNASET)
    16
    17
    18    For L = 0 To DB.TableDefs.Count - 1
    19
    20        Set td = DB.TableDefs(L)
    21
    22
    23        If Not td.Name Like "Msys*" Then
    24            Set T = DB.OpenRecordset(td.Name, DB_OPEN_SNAPSHOT)
    25
    26            DoEvents
    27
    28            For F = 0 To td.Fields.Count - 1
    29
    30
    31
    32                criteria = "CStr('' & [" & td.Fields(F).Name & "]) Like '*" & SnoopFor & "*'"
    33                T.FindFirst criteria
    34
    35                If Not (T.NoMatch) Then
    36
    37                    occ = 0
    38                    Do While Not (T.NoMatch)
    39                        T.FindNext criteria
    40                        occ = occ + 1
    41
    42                    Loop
    43
    44                    S.AddNew
    45                    S!Occurence = occ
    46                    S!Table = td.Name
    47                    S!Field = td.Fields(F).Name
    48                    S.Update
    49
    50                End If
    51
    52            Next F
    53
    54        End If
    55
    56    Next L
    57    Me.frmChild.Form.Requery
    58    '    T.Close
    59    S.Close
    60    DB.Close
    61
    62Snoop_Exit:
    63
    64
    65
    66    Exit Sub
    67
    68Snoop_Err:
    69    MsgBox Err.Description, vbCritical
    70    Resume Snoop_Exit
    71
    72    Exit Sub
    73
    74End Sub
    

     

    03测试

    最后一步就是测试了,大家可以将按上面的步骤,在按钮控件的单击事件里来调用上面的函数。

     

    展开全文
  • 转自:http://www.pinlue.com/article/2018/09/1514/087188585901.html
    展开全文
  • VBA示例之 获取一个字符串中有多少个数字字符,供初学者参考,大牛勿进~~~~~~~
  • 怎样用VBA查找选定区域内包含某字符串的单元格,并用设定的底色显示
  • CAD-vba字符串查找

    2018-05-16 08:21:49
    CAD-vba字符串查找函数,查找关键字。AcadText单行文字,AcadMText多行文字 Dim ent As AcadEntity For Each ent In ThisDrawing.ModelSpace
  • '示例:=myget(srg,1,3)'从第 3 位开始取出中文字符' =myget(srg,2)'从第 1 位开始取出英文字母,第 3个参数省略默认为 1' =myget(srg,,5)'从第 5 位开始取出数字,第 2个参数省略默认为 0' =myget(srg) '第 2、3 个...
  • nT = UBound(Split(cTextStrs, "xx")) cTextStrs 要查找字符串 xx 要查找的字符 nT 重复的次数

    nT = UBound(Split(cTextStrs, "xx"))
    cTextStrs 要查找的字符串
    xx 要查找的字符
    nT 重复的次数

    展开全文
  • 通常我们使用MID函数截取相应位置字符,但是如何确定该字符的第N次出现位置呢?那么可以用下面的公式确定:=FIND("@",SUBSTITUTE(A1,"\","@",3))如下图B1单元格中的公式所示,得到反斜杠"\"第三次出现位置是19...

    工作中常遇到要截取某单元格中指定内容的字符,并且此字符要求是第N次出现的。通常我们使用MID函数截取相应位置的字符,但是如何确定该字符的第N次出现的位置呢?

    那么可以用下面的公式确定:

    =FIND("@",SUBSTITUTE(A1,"\","@",3))

    如下图B1单元格中的公式所示,得到反斜杠"\"第三次出现的位置是19:

    v2-6c86f565c085b9c7567139bc6c2b634e_b.jpg


    上述公式,主要用SUBSTITUTE(A1, "\", "@", 3) 将A1单元格第三次出现的反斜杠"\"替换为"@"(可以用其他不常用的字符,方便FIND函数查找到即可)。
    参数“3" ,是指第三次出现的反斜杠"\",各人实际工作需要而定。


    SUBSTITUTE 函数详解

    说明
    在文本字符串中用 new_text 替换 old_text。
    如果需要在某一文本字符串中替换指定的文本,请使用函数 SUBSTITUTE;
    如果需要在某一文本字符串中替换特定位置处的任意文本,请使用函数 REPLACE。
    语法
    SUBSTITUTE(text, old_text, new_text, [instance_num])
    SUBSTITUTE 函数语法具有下列参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。):
    text 必需。 需要替换其中字符的文本,或对含有文本(需要替换其中字符)的单元格的引用。

    old_text 必需。 需要替换的文本。new_text 必需。 用于替换 old_text 的文本。

    Instance_num 可选。 指定要用 new_text 替换 old_text 的事件。 如果指定了

    instance_num,则只有满足要求的 old_text 被替换。 否则,文本中出现的所有 old_text 都会更改为 new_text。

    展开全文
  • VBA 字符串函数

    千次阅读 2019-05-11 16:02:31
    len(s) 求长度 trim(s) 去掉两端空格 replace(s,a,b) 替换s中子串a,用b替代 left(s,a) 从左边取若干字符 right(s,a) 从右边取若干字符 ...instr(a,s1,s2) 从a位置在s1中查找字符串s2,返回位置 ---------------...
  • 判断是否有|使用INSTR函数,函数的说明如下:...SearchChar = "P" ' 要查找字符串 "P"。 ' 从第四个字符开始,以文本比较的方式找起。返回值为 6(小写 p)。 ' 小写 p 和大写 P 在文本比较下是一样的。 MyPos = Instr
  • word vba 如何查找出一个字符串中包括了多少个指定子字符串? Sub at() aaaa = "ASDFSF。ASDF。SDF。234。'XCV。d" '第1种方法 bbb = Replace(aaaa, "。", "") cccc = Split(aaaa, "。") CS1 = Len(aaaa) - Len...
  • VBA 判断字符串是否包含中文字符

    千次阅读 2019-07-02 22:20:42
    VBA 判断字符串是否包含中文字符 Function StrWithChinese(StrChk As String) As Boolean StrChk = VBA.StrConv(StrChk, vbNarrow) '将字符串转换成半角 StrWithChinese = IIf(Len(StrChk) < LenB(StrConv...
  • Sub 查找文档中有多少个指定字符串() dai_cha_zhao_text = InputBox("请输入您要查找字符串:", " 包含多少个字符串查找") With ActiveDocument.Content.Find Do While .Execute(FindText:=dai_cha_zhao_text...
  • 查找字符串"abcdefsasfsacvggiorjaionvapoo"中所有a出现位置及次数; 思路: 先找出第一个a的位置 然后只要indexOf()返回的结果不是-1就继续往后查找 因为indexOf()只能查到第一个,所以后面的再查找 要利用第二...
  • VBA字符串的相关函数

    千次阅读 2019-05-24 15:53:56
    使用 len() 函数获得一个字符串长度 使用 left() mid() ,right() 截取字符串 使用 replace() 把字符串中的某个字符替换成其它字符 使用 split() 把字符串按某个字符分割 instr运算符 Like运算符 使用string()...
  • VBA 字符串操作

    千次阅读 2019-05-13 17:22:15
    字符串拆与组合 'left,right,mid,Len Sub z1() Dim sr sr = "Excel精英培训网" MsgBox Left(sr, 5) MsgBox Right(sr, 5) MsgBox Mid(sr, 3, 5) MsgBox Left(sr, Len(sr) - 1) End Sub 'split Sub z2() Dim ...
  • VBA提取字符串中的数字

    千次阅读 2021-04-26 15:15:28
    上一篇讲了用 python 提取字符串中的数字,这次用VBA来事项。总体思路和 python 是一样的,代码如下: Option Explicit Sub GetNumbers() Dim from_string As String, convert_numbers As String Dim i, j, k, ...
  • VBA查询word中的字符串

    千次阅读 2019-06-20 22:53:29
    Sub 查找相同字符个数() Text = InputBox("请输入您要查找到字符:", ...Text = "[" + Trim(str(i)) + "]" '注意数值转成字符串会在前面加上空格,所以要用trim去除空格 Text = Trim(Text) With ActiveDocume...
  • Instr函数是十分实用的,它可以查询某个字符串在另一个字符串中是否出现,并且返回该查询字符串最先出现的索引位置。Instr函数常常与Mid函数一起使用,会有非常好用的效果。不过Instr函数并非Excel内置的函数,因此...
  • 有同学反映,需要查找指定字符的前一个字符。根据此需求,大家可用录制宏操作一下查找字符的操作,然后得到一些基本代码,在此基础上进行修改,得到具备相应功能的过程代码。最终代码如下: Sub findtext() Dim ...
  • VBA示例函数之 求人不如自已动手 提取定中汉字,供初学者参考,大牛勿进~~~~~~~
  • @VBA 字符串处理函数...instr(从第几个开始,字符串1,字符串2) 从规定的位置开始查找,返回字符串2在字符串1中的位置 例如 instr(1,“小欣无敌”,“小”) 则返回 1,instr(2,“小欣无敌”,“小”),则返回 0 。 0 ...
  • @VBA字符串操作:从右向左截取特定分隔符后的内容 熟悉EXCEL函数的朋友遇到截取字符串的时候第一个想到的肯定是FIND()、 LEN() 、LEFT()、**RIGHT()**这一套操作, 但很遗憾VBA里面的FIND针对的是Range对象,用到字符...
  • VBA:处理字符串的各种函数

    千次阅读 2020-01-12 17:07:19
    SearchChar = "P" ' 要查找字符串 "P"。 ' 从第四个字符开始,以文本比较的方式找起。返回值为 6(小写 p)。 ' 小写 p 和大写 P 在文本比较下是一样的。 MyPos = Instr(4, SearchString, SearchChar, 1) ' 从第一...
  • 查找单元格中包含特定字符串中的某一个,并返回该特定字符串查找单元格中包含特定字符串中的某一个,并返回该特定字符串
  • Sub test() aaa = "江苏省南京市建邺区水西门大街34号" If InStr(aaa, "建邺") <> 0 Then MsgBox "在里面" Else MsgBox "不在里面" End If End Sub 转载于:...
  • Sub str_test() Dim str As String, str1 As String str = "sd\sdsds\" ... MsgBox (str1) '从右向左查找,返回值是9 str1 = InStr(str, "\") MsgBox (str1) '从左向右查找,返回值是3 End Sub ...
  • 1、open 文件名 for output(写入覆盖数据)/...3、instr(a,b)函数返回为long形式,意为指定一字符串(b)在另一字符串(a)中最先出现位置,返回值为具体位置,如果返回0则表示不存在。 4、dir(a)返回为stri
  • Function RegTest(ByVal sText ... '定义匹配字符串集合对象 Dim oMatches As Object '创建正则表达式 Dim a As String '定义要执行正则查找的文本变量 Set oRegExp = CreateObject("vbscript.regexp") .
  • VBA字符串处理大全-from EH

    万次阅读 2017-06-22 09:54:45
    VBA字符串处理大全 转载出处 1 VBA中的字符串 2 VBA中处理字符串的函数  2.1 比较字符串  2.2 转换字符串 ... 2.6 查找字符串  2.7 提取字符/字符串  2.8 删除空格  2.9 返回字符代码  2.10 返

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,554
精华内容 1,021
关键字:

vba查找字符串的字符出现的位置