1. vba 字符串位置
写一个格式化函数
Public Function FormatValue(ValStr as string) as string
FormatValue = Format(ValStr,"000000")
End Function
如
A = 110
FormatA = FormatValue(CStr(A))
2. excelvba截取字符串
mid(源字串,起始位号x,提取长度m);返回第x位起m个字符。要求:起始位号+提取长度
3. vba中查找字符在字符串中位置
判断是否有|使用INSTR函数,函数的说明如下:InStr函数示例本示例使用InStr函数来查找某字符串在另一个字符串中首次出现的位置。
DimSearchString,SearchChar,MyPosSearchString="XXpXXpXXPXXP"'被搜索的字符串。
SearchChar="P"'要查找字符串"P"。'从第四个字符开始,以文本比较的方式找起。返回值为6(小写p)。'小写p和大写P在文本比较下是一样的。
MyPos=Instr(4,SearchString,SearchChar,1)'从第一个字符开使,以二进制比较的方式找起。返回值为9(大写P)。'小写p和大写P在二进制比较下是不一样的。
MyPos=Instr(1,SearchString,SearchChar,0)'缺省的比对方式为二进制比较(最后一个参数可省略)。
MyPos=Instr(SearchString,SearchChar)'返回9。
MyPos=Instr(1,SearchString,"W")'返回0。替换|为,使用Replace函数,例如:Replace("KSDHKJH|SDF|SDF",“|”,“,”)希望对你能有所帮助。
4. vba 查找指定字符串在单元格位置
可以发一下你的“窗口内容”是什么,如果是 “A1”这样的字符串(比如保存在窗体的Textbox1控件中),可以 Range(Textbox1.Text).Value 获取对应单元格的内容。A1本身就是地址。也可以Range(Textbox1.Text).Address 得到的是绝对引用地址"$A$1" 如果Textbox1的内容是 "序号"等,需要查找 工作表中 单元格内容="序号" 的单元格地址,可以用Cells.Find(Textbox1.Text).Address 得到“序号" 所在的地址。
5. 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 = y & " " & Match Next End With 'MsgBox y REFIND = yEnd Function注意:需要是office的VBA环境,sheet名字右键查看代码或者开发工具进入VBA界面。在插入中插入模块,编写代码,保存;然后就可以在表格中使用了。如果出现用户自定义类型未定义,那是因为RegExp类型需要从工具栏中引用添加 MicrosoftVBScriptRegularExpressions5.5
6. vba截取指定字符之间的字符
可以用mid和left函数 mid语法: mid(文本字符串,开始截取位置,截取的长度) left语法:left(文本字符串,从字符串头截取的长度)
right语法:right(文本字符串,从字符串尾截取的长度) 常用例子: Sub test() Dim str$ str = "abcdefg" MsgBox Left(str, Len(str) - 1) End Sub
7. vba返回字符串中某字符的位置
试了一下,没有分隔符,会返回原来的字符串:
a = "abc|de|fgh"
b = Split(a, "|")
c = Split(a, ",")
b会把a拆成三个:
b(0)="abc",b(1)="de", b(2)="fgh"
c的值会等于a:
c(0) = "abc|de|fgh"
8. vba 字符在字符串中的位置
VBA对子程序和函数有如下的命名规则:
1)第一个字符必须是字母。
2)名字中可以包含字母、数字和下划线。
3)名字中不能包含空格、句号、惊叹号,也不能包含字符@、&、$和#。
4)名字中最多包含255个字符。
2/3
变量的类型
变量用于保存过程数据。下面是VBA中使用的变量类型。变量名的命名规则与过程名相同。变量的定义使用Dim 变量名 as 数据类型
3/3
变量的声明
下面将创建一个过程,其功能是提示用户输入名字,接着在消息框中显示出来。
Public Sub KnowYourName()
Dims Name As String
sName = InputBox("Enteryourname:")
MsgBox "Hi"&sName
End Sub
其中Name是一个字符串变量,在Dim语句中不必提供数据类型。如果没有提供数据类型,变量将被指定为VBA中默认的数据类型Variant 。如果不定义数据类型会占用空间与提高运行时间。
Dim iNumberOfStudents as Integer
Dim dTestDate as Date
'The following line creates a variable length string
Dim sLastName as String
'The next line creates a 2char. Fixed length string
Dim sState as String*2
可以通过以单引号开头加注释
- 相关评论
- 我要评论
-