跟阿忠学家具设计,月薪8000只是起步
网授培训费
¥4800报名学习\'1 数据类型综述
\'在VBA中的数据类型有整数、文本、对象等类型。这些不同的类型有着特定的作用,在进行运算时也会占用
\'不同大小的内存,所以我们在编写程序时为了提高运行效率,一般都要定义数据的类型。
\'2 数据类型对程序运行的影响
\'byte 占用1个字节
\'integer,boolean 占用2个字节
\'long,single 占用4个字节
\'Double,Currency,date 占用8个字节
\'object 占用4个字节
\'string(不定长) 占用10+字符长度个字节
\'String(定长) 占用字符串长度个字节
\'Variant(任意数字类型) 占用16个字节
\'Variant(字符串) 占用24+字符串长度个字节
Sub sss1()
Dim x As Long
Dim t
\'Dim k1 As Byte \'用时0.03125s
Dim k
\'Dim k1 As Integer \'用时0.15625s
Dim k1 As String \'用时0.203125s
k = 1
t = Timer
For x = 1 To 1000000
k1 = k
Next x
Debug.Print Timer - t
End Sub
\'1 检查是否为空
Sub s1()
Debug.Print Range("a1") = "" \'判断真空,无法判断假空
Debug.Print Len(Range("a1")) = 0 \'判断真空,无法判断假空
Debug.Print VBA.IsEmpty(Range("a1")) \'假空时返回FALSE
Debug.Print VBA.TypeName(Range("a1").Value) \'返回Empty表示为空
End Sub
Sub 速度测试()
Dim t
Dim x As Long
t = Timer
For x = 1 To 100000
\'If Range("a1") = "" Then \'用时0.81
\' If Len(Range("a1")) = 0 Then \'0.84
\' If VBA.IsEmpty(Range("a1")) Then \'速度 0.79
\'If VBA.TypeName(Range("a1").Value) = Empty Then \'0.84
End If
Next x
Debug.Print Timer - t
End Sub
\'2 检查是否为数字
Sub s2()
Debug.Print VBA.IsNumeric(Range("a1"))
Debug.Print Application.WorksheetFunction.IsNumber(Range("A1"))
Debug.Print VBA.TypeName(Range("A1").Value)
\' Debug.Print Range("a1").Value Like "#" \'判断一位整数
\' Debug.Print Range("a1") Like "*#*" \'判断是否包含数字
End Sub
Sub 速度测试2()
Dim t
Dim x As Long
t = Timer
For x = 1 To 100000
\'If VBA.IsNumeric(Range("a1")) Then \'用时0 0.79
\'If Application.WorksheetFunction.IsNumber(Range("A1")) Then \'0.9218
\'If VBA.TypeName(Range("A1").Value) = "Double" Then \'速度 0.84
End If
Next x
Debug.Print Timer - t
End Sub
\'3 检查是否为文本
Sub t3()
Debug.Print Application.IsText(Range("a1"))
Debug.Print "B" Like "[A-Za-z]" \'判断是否为字母
Debug.Print Len(Range("a1"))
Debug.Print Range("a1") Like "*[一-龥]*" \'判断字符串中是否包含汉字
End Sub
\'4 判断结果是否为错误值
Sub s4()
Debug.Print VBA.IsError(Range("a1"))
Debug.Print TypeName(Range("a1").Value)
End Sub
\'5 判断是否为数组
Sub s5()
Dim arr
arr = Range("A1:A2")
Erase arr
Debug.Print VBA.IsArray(arr)
End Sub
\'6 判断是否为日期
Sub s6()
Debug.Print VBA.IsDate(Range("a2"))
End Sub
\'一、类型转换函数:CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CSng, CStr, CVar
\'上述函数是把表达式转换成相对应的数字类型,比如clng转换成长整型,cstr转换成文本型
Sub ss1()
Dim s As Integer
s = 2334
MsgBox 截取(CStr(s)) \'因为自定义函数参数要求是文本类型,而s是数值类型,所以需要用cstr转换成文本类型
End Sub
Function 截取(x As String)
截取 = Left(x, 2)
End Function
Sub ss2()
Debug.Print 1 + True \'CInt(1 = 1)
End Sub
\'二、Format函数
\'format函数用法等同于工作表中的text函数,可以格式化显示数字或文本
Sub ss3()
Dim n, n1
n = 234.3372
n1 = 41105
Debug.Print Format(n, "0.00")
Debug.Print Format(n, "0")
Debug.Print Format(n, "\\价格\\:0.00")
Debug.Print Format(n1, "yyyy-mm-dd")
End Sub
家具设计课堂是国内做家具设计在线教育的线上培训机构,初入家具设计行业的准家具设计师建议在此技术提升。跟阿忠学家具设计,月薪8000只是起步!您想找一份高薪设计类的研发工作,或许家具设计课堂能帮您实现您的初衷愿景。报名学习QQ:415284424。