【2】VBA数字字符串转数字文本型数字转数值 0/Option Explicit Sub test() '文本型数字转数值 Dim a As String 'a = "1+2" a = "13" Debug.Print Val(a) '?,a = "1+2",得1; a = "03",得3;a = "13",得13 Debug.Print Val("1+2") '?,得1 Debug.Print Application.ExecuteExcel4Macro(a) 'Ok! 得3 Debug.Print Application.Evaluate(a) 'Ok! 得3 b = Application.Evaluate(a) Debug.Print b + 1 'Ok! 得4 End Sub 'End Sub 1/Excel 在vba 中如何把字符串转换成数字 http://club./thread-36870-1-1.html 4#/转换函数有很多,cint->integer,cdbl->double,clng->long 2/Excel vba里怎么将字符串转换为数值?_百度知道 https://zhidao.baidu.com/question/588910123563649685.html 3/Excel vba 里怎么将字符串转换为数值_百度知道 https://zhidao.baidu.com/question/564287218333087364.html?qbl=relate_question_3&word=vba%CA%FD%D7%D6%D7%D6%B7%FB%B4%AE%D7%AA%BB%BB%B3%C9%CA%FD%D7%D6 4/VB 怎样将字符串转化为数值_百度知道 https://zhidao.baidu.com/question/539001081.html 数值变量=Val(字符串)例:n = Val("3.5") ' 变量n赋值为3.5 或者使用取整函数如: 数值变量=Int(字符串) 或者 数值变量=CInt(字符串) n = Int("3.5") ' 取整数,变量n赋值为3 n = CInt("3.5") ' 四舍五入取整数,变量n赋值为4 Cstr("12345") 就是把字符串"12345"转换成了数值 12345 ------ 5/Excel vba 里怎么将字符串转换为数值_百度知道 https://zhidao.baidu.com/question/564287218333087364.html 5.1VALUE(text),VALUE函数只有一个参数text,表示需要转换成数值格式的文本。text参数可以用双引号直接引用文本,也可以引用其他单元格中的文本。 = 5.2用四则运算法将字符型数字转换成数字型。可以用+0,-0,*1,/1来将字符型数字转换成数字型数字。 5.3/3、数字型数字转换成文本型,用TEXT函数将数字型数字转换成文本型,Text函数的基本语法格式:TEXT(value,format_text),Value:为数值、计算结果为数字值的公式,或对包含数字值的单元格的引用。Format_text:是作为用引号括起的文本字符串的数字格式。例如:C2=TEXT(B2,0),就变成了文本型。 5.4/将字符型数字转换成数字型,value将数字型文本字符串转为数字, 结构是:value(text),只有一个参数text,表示要转换为数字格式的文本,文本参数可直接引用双引号中的文本,或引用单元格文本。 =Value(B3) 'Excel中函数用 b=Val("55") 'VBA中用 ------ 6/VBA学习笔记之Text(五)——字符串型数值和数值型字符串相互转换_空空空_新浪博客 http://blog.sina.com.cn/s/blog_7f14264a01013eh5.html 6.1/数值转化为字符串函数Str、CStr 6.2/字符型数值转化为数值型数据 7/百度知道:VBA怎么将字符串表达式转化成数值。如"1+2",用val函数得到结果为1 https://sa93g4./pages/question/question?qid=1992553285419532907&hostname=baiduboxapp&_swebfr=1 BBS: Option Explicit Sub test() Dim a As String a = "1+2" Debug.Print Application.ExecuteExcel4Macro(a) Debug.Print Application.Evaluate(a) End Sub 试试上面的代码你就知道了,Application.ExecuteExcel4Macro 或者 Application.Evaluate 都可以达到效果! ***** czm/1: wbN1 = ActiveWorkbook.Name '文件名为:03.07.Xlsm 'Debug.Print wbN1 wbN1a = Left(wbN1, 2) 'wbN1a = Left(ActiveWorkbook.Name, 2) Debug.Print wbN1a Qyh6 = Val(wbN1a) '?得0 Debug.Print Qyh ----- czm2/ Sub a3() b3 = Format(CInt(Right("03", 2)), "00") Debug.Print b3 '得数字03, b31 = b3 Debug.Print b31 '得数字03, b32 = b3 * 1 Debug.Print b32 '得数字3,可去掉前导0 End Sub ---- Sub a3() 'b3 = Format(CInt(Right("03", 2)), "00") 'Ok b3 = Format(Val(Right("03", 2)), "00") 'Ok Debug.Print b3 '得数字03, b31 = b3 Debug.Print b31 '得数字03, b32 = b3 * 1 Debug.Print b32 '得数字3,可去掉前导0 End Sub sub Qyh3() wbN1 = ActiveWorkbook.Name 'Ok! 'Debug.Print wbN1 wbN1a = Left(wbN1, 2) 'Ok! 'wbN1a = Left(ActiveWorkbook.Name, 2) Debug.Print wbN1a Qyh = wbN1a * 1 'Ok! b3 = Format(Val(Left(wbN1, 2)), "00") 'Ok! 'b3 = Format(Val(Right(wbN1a, 2)), "00") 'Ok 'b3 = Format(Val(Right("03", 2)), "00") 'Ok 'Qyh6 = Val(wbN1a) '?得0 'b3 = Format(Val(wbN1)), "00") '? 'b3 = wbN1 * 1 '?错误13,类型不匹配 'Debug.Print b3 'Ok!得03 'Qyh = b3 * 1 'Ok, 'Qyh = b3 + 1 'Ok,得4 Debug.Print Qyh Cells(98, 1) = Qyh end sub Str1 = Cells(1,1).Value ''数值转文本型(字符) 【】 |
|
来自: c857084163 > 《VBA》