excel中VBa应用总结

单元格操作


Range("C4") = 1 '很直观,不用多解释了吧
[C4] = 1 '跟Range差不多,但更简洁
Cells(4,3) = 1 'Cells有2个参数Rowindex和ColumnIndex,分别是行号和列号。注意是先行后列
'Sheets(1).Range("A1").Value = 1 '使用 Sheets(index)访问工作表(其中 index 是工作表名称或索引号),这两句和上面的Range("A1")=1的结果一样




连续的单元格
[A3:C5] = 2
Cells(11, 1).Resize(2, 3) = 4 'Cells(11,1)返回单元格A11,然后Resize(2,3)把A11向下扩展2行,向右扩展3列,返回区域A11:C12。
Range("C13:E23", "H7:J9") = 3
不连续的单元格
[A18,A20,B19:C19] = 6 '可以用多个逗号分割多个不连续的区域
Range("C13:E23,H7:J9") = 3
参数化
Range(Chr(64 + C1) & R1 & ":" & Chr(64 + C2) & R2) = 10 '这句和上面一句实现的功能一样,都是设置F7:H9的值为10。
字符串操作


字符串函数


Trim(string) '去掉string左右两端空白 
Ltrim(string) '去掉string左端空白 
Rtrim(string) '去掉string右端空白 
Len(string) '计算string长度 
Left(string, x) '取string左段x个字符组成的字符串 
Right(string, x) '取string右段x个字符组成的字符串 
Mid(string, start,x) '取string从start位开始的x个字符组成的字符串 
Ucase(string) '转换为大写 
Lcase(string) '转换为小写 
Space(x) '返回x个空白的字符串 
Asc(string) '返回一个 integer,代表字符串中首字母的字符代码 
Chr(charcode) '返回 string,其中包含有与指定的字符代码相关的字符
UBound
字符串比较


Dim strFixedLong As String*100 '定长字符串
StrComp(string1,string2[,compare])
Compare:vbBinaryCompare/0则二进制进行比较;vbTextCompare/1则进行文本进行比较;vbDatabaseCompare/2则适用Microsoft Access,进行基本数据库信息的比较
返回值:String1<String2,则返回值为-1,=则0,>则1,其中有一个为NULL则为NULL
Sub testStringCompare()
  Dim MyStr1 As String, MyStr2 As String
  Dim MyComp1 As Integer, MyComp2 As Integer, MyComp3 As Integer, MyComp4 As Integer
  MyStr1 = "ABCD"
  MyStr2 = "abcd"
  MyComp1 = StrComp(MyStr1, MyStr2, 1)    '返回 0
  MyComp2 = StrComp(MyStr1, MyStr2, 0)    '返回 -1
  MyComp3 = StrComp(MyStr1, MyStr2)       '返回 -1
  MyComp4 = StrComp(MyStr2, MyStr1) & apos  '返回1
  MsgBox "StrComp(MyStr1, MyStr2, 1)的结果为:" & MyComp1
  MsgBox "StrComp(MyStr1, MyStr2, 0)的结果为:" & MyComp2
  MsgBox "StrComp(MyStr1, MyStr2)的结果为:" & MyComp3
  MsgBox "StrComp(MyStr2, MyStr1)的结果为:" & MyComp4
End Sub
字符串转换


StrConv(string,conversion,LCID)
conversion参数:vbUpperCase/1,将字符串转换成大写
  vbLowerCase/2,则将字符串转换成小写;
  vbProperCase/3,则将字符串中每个字的开头字母转换成大写;
  vbUnicode/64,则根据系统的缺省码页将字符串转换成Unicode;
  vbFromUnicode/128,则将字符串由Unicode转换成系统的缺省码页。
Sub testConverseString()
  Dim i As Long
  Dim x() As Byte
  x = StrConv("ABCDEFG", vbFromUnicode)   '转换字符串。
  For i = 0 To UBound(x)
    Debug.Print x(i)
  Next
End Sub


Sub Test()
  Dim byArray() As Byte
  Dim sString As String
  sString = "Some stuff"
  byArray = StrConv(sString, vbFromUnicode)
End Sub


转换成字符串类型


MyDouble = 437.324   ;MyDouble 为 Double 类型
MyString = CStr(MyDouble)    ;MyString 的内容为"437.324"


说明:传递给CStr的未初始化的数字数据类型返回“0”,传递给CStr的未初始化的日期变量返回“0:00:00”。
Sub CreateString1()
  Dim MyString  '返回 10 个空格的字符串。
  MyString = Space(10) '将 10 个空格插入两个字符串中间。
  MyString = "Hello" & Space(10) & "World"
  MsgBox "" & MyString
End Sub


字符串生成


Space(number)
String(number,character)



你可能感兴趣的:(String,Excel,Microsoft,Integer,character,VBA)