EXCEL用VBA提取字符串

如题所述

可以使用函数提取一个字符串中的一段字符。

MID 用来返回文本字符串中从指定位置开始的特定数目的字符,该数目由用户指定。
函数 MID 始终将每个字符(不管是单字节还是双字节)按 1 计数。

语法:
MID(text, start_num, num_chars)
参数:
MID函数语法具有下列参数:
Text 必需。包含要提取字符的文本字符串。
Start_num 必需。文本中要提取的第一个字符的位置。文本中第一个字符的 start_num 为 1,依此类推。
Num_chars 必需。指定希望 MID 从文本中返回字符的个数。

说明:

如果 start_num 大于文本长度,则 MID 返回空文本 ("")。
如果 start_num 小于文本长度,但 start_num 加上 num_chars 超过了文本的长度,则 MID 只返回至多直到文本末尾的字符。
如果 start_num 小于 1,则 MID 返回错误值 #VALUE!。
如果 num_chars 是负数,则 MID 返回错误值 #VALUE!。
如果 num_bytes 是负数,则 MIDB 返回错误值 #VALUE!。

示例:
数据 "Fluid Flow " 假设在A1单元格。
=MID(A2,1,5) 上面字符串中的 5 个字符,从第一个字符开始 (Fluid) 。
=MID(A2,7,20) 上面字符串中的 20 个字符,从第七个字符开始 (Flow) 。
=MID(A2,20,5) 因为要提取的第一个字符的位置大于字符串的长度,所以返回空文本 ()。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-26
mid(源字串,起始位号x,提取长度m);返回第x位起m个字符。要求:起始位号+提取长度<=源字串长度+1
left(源字串,左侧截取长度x);返回左侧x个字符
right(源字串,右侧截取长度y);返回右侧y个字符
instr(源字串,待查找子字串u);返回子字串首字符在源字串中的起始位号
chr(65);返回字母A
......本回答被网友采纳
第2个回答  2018-03-31

可以使用函数提取一个字符串中的一段字符。 MID 用来返回文本字符串中从指定位置开始的特定数目的字符,该数目由用户指定, 函数 MID 始终将每个字符。

应该用到三个字符串函数:LEFT、RIGHT、MID

    LEFT函数用法:LEFT(要提取字符所在单元格,从左侧开始提取的个数)。

    RIGHT函数用法:RIGHT(要提取字符所在单元格,从右侧开始提取的个数)。

    MID函数用法:MID(要提取字符所在单元格,开始位置,提取个数)。

本回答被网友采纳
第3个回答  2013-09-09
提取怎么样的字符串,保存到哪里?请描述清楚。

excel “vba”怎么截取字符串?
以下从一个单元格字符串中提取出连续出现的数字,并且空格分割,后面只需分列以下就提取到不同单元格了。函数代码如下:Function REFIND(str, re) Dim Reg As New RegExp With Reg .Global = True .Pattern = re Set matchs = .Execute(str) For Each Match In matchs y...

如何用excel中的VBA的正则表达式提取出字符串?
1、首先打开需要编辑的Excel表格,进入到编辑页面中。2、然后点击打开主菜单栏开发工具中的“Visual Basic”选项。3、还可以鼠标右键单击工作标签,选择打开“查看代码”。4、然后在弹出来的窗口中点击输入:Function REFIND(str, re)Dim Reg As New RegExp With Reg .Global = True .Pattern = re S...

Excel VBA 编程开发应用系列 (七)—字符串处理函数
Mid函数用于从字符串中提取任意长度的子字符串,其语法为Mid(String,Start[,Len])。如果字符串包含空值或Start超过字符串长度,函数将返回空字符串。Left函数则从字符串左边提取指定长度的子字符串,Right函数则从字符串右边开始提取。与Left和Right不同,Right函数从字符串的右侧开始提取指定长度的子字符串...

EXCEL中用VBA提取特定条件的字符串?
2) = Left(s, Len(s) - 2)Next iEnd Sub

excel中用VBA提取某一个单元格内包含某关键字符串的一行内容前的整数...
答:右键工作表标签,选择查看代码,复制下面代码进去。然后可以在B列输入关键字,就会得到结果。Private Sub Worksheet_Change(ByVal Target As Range) Dim Cell As Range Dim TempStr As String On Error Resume Next If Target.Column = 2 Then Set Cell = Cells(Target.Cells(1...

EXCEL VBA 截取字符串问题
可用如下公式之一,=COUNTIF(A1,"*"&B1&"*")=IF(ISNUMBER(FIND(B1,A1)),TRUE,FALSE)=IF(COUNTIF(A1,"*"&B1&"*")=0,FALSE,TRUE)=IF(COUNTIF(A1,"*"&B1&"*"),TRUE,FALSE)

如何用VBA取电子表格单元格中的字符的N位数据?
VBA中也可以用mid函数提去字符的N位数据 软件版本:Office2013 举例说明如下:1.从下表E列数据中,提取第2位开始的5位数据:2.Alt+F11,在相应工作表中输入代码如下:3.F5执行代码,即可提取出相应的数据来:

EXCEL 用VBA 提取字符串
语法:MID(text, start_num, num_chars)参数:MID函数语法具有下列参数:Text 必需。包含要提取字符的文本字符串。Start_num 必需。文本中要提取的第一个字符的位置。文本中第一个字符的 start_num 为 1,依此类推。Num_chars 必需。指定希望 MID 从文本中返回字符的个数。说明:如果 start_...

Excel VBA怎么截取字符串
Sub qgrmdtj()myPath = "C:\\Users\\sfx004\\Desktop\\Test" '把文件路径定义给变量 n = 2 myFile = Dir(myPath & "\\*.*")Do While myFile <> ""Cells(n, 1) = myFile myFile = Dir '找寻下 文件 n = n + 1 Loop End Sub ...

vba怎样提取含有某个字符的单元格
以下是一个简单的VBA代码示例,用于提取包含特定字符的所有单元格。这段代码可以运行在Excel VBA宏中或通过运行VBA脚本实现:vb Sub ExtractCellsWithChar()Dim ws As Worksheet Dim rng As Range Dim cell As Range Dim targetChar As String Dim i As Integer ' 选择工作表 Set ws = ThisWorkbook....

相似回答