1234

ExcelHome技术论坛

用户名  找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

帖子
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 37725|回复: 12

[原创] VBA函数精选之三十七(Str 和 CStr 函数)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-12-23 12:11 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
第1.37例 Str 和CStr 函数
一、题目:
  要求编写一段代码,运用 Str  函数或者CStr 函数来将一个数字转成字符串。
二、代码:
Sub 示例_1_037()
    Dim Zfc$
    Zfc = Str(459)
MsgBox Len(Zfc)
Zfc = Str(-459.65)
    Zfc = CStr(459)
MsgBox Len(Zfc)
Zfc = CStr(-459.65)
End Sub
三、代码详解
1、Sub 示例_1_037():宏程序的开始语句。宏名为示例_1_037。
2、Dim Zfc$  :声明变量Zfc 为字符串变量,$为字符串变量String的类型声明字符,其它有类型声明字符的数据类型请见第1.24例。
3、Zfc = Str(459) :用Str 函数将数字转换成字符串,返回” 459”;注意数字前面会保留一个空位来表示正负。
4、MsgBox Len(Zfc) :用消息框显示变量Zfc的长度,返回4;说明数字前面有一个空位。
5、Zfc = Str(-459.65) :用Str 函数将数字转换成字符串,返回”- 459.65”;因为是负数有一个负号,所以没有另外的空位了。如果用消息框显示变量Zfc的长度,返回7。
6、Zfc = CStr(459) :用CStr 函数将数字转换成字符串,返回”459”;注意数字前面没有一个空位。
7、MsgBox Len(Zfc) :用消息框显示变量Zfc的长度,返回3;说明数字前面没有空位。

Str 函数
返回代表一数值的字符串 Variant (String)。

Str(number)
必要的 number 参数为一 Long,其中可包含任何有效的数值表达式。
说明
当一数字转成字符串时,总会在前头保留一空位来表示正负。如果 number 为正,返回的字符串包含一前导空格暗示有一正号。
使用 Format 函数可将数值转成必要的格式,如日期、时间、货币或其他用户自定义格式。与 Str 不同的是,Format 函数不包含前导空格来放置 number 的正负号。
注意 Str 函数只视句点 (.) 为有效的小数点。如果使用不同的小数点(例如,国际性的应用程序),可使用 CStr 将数字转成字符串。

CBool等类型转换函数
每个函数都可以强制将一个表达式转换成某种特定数据类型。
语法
CBool(expression) CByte(expression) CCur(expression) CDate(expression)
CDbl(expression) CDec(expression) CInt(expression) CLng(expression)
CSng(expression) CStr(expression) CVar(expression)
必要的 expression 参数可以是任何字符串表达式或数值表达式。

CStr 函数
可强制将一个表达式转换成字符串,返回代表一数值的字符串 Variant (String)。

CStr(expression)
CStr         String        依据 expression 参数返回一个字符串。

VBA函数精选之三十六(Sqr 函数):http://club.excelhome.net/thread-382978-1-1.html

TA的精华主题

TA的得分主题

发表于 2008-12-23 21:50 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2008-12-23 22:12 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-7-18 11:49 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
谢谢,学习了!!

TA的精华主题

TA的得分主题

发表于 2010-7-18 12:24 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-8-3 17:49 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-11-9 10:32 | 显示全部楼层
谢谢楼主,一边查帖子一边解决问题,感觉eh真是太强大了!

TA的精华主题

TA的得分主题

发表于 2012-7-29 18:20 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
不断跟踪学习

TA的精华主题

TA的得分主题

发表于 2012-9-11 22:04 | 显示全部楼层
原来str和cstr是有区别的,
Str(number)
必要的 number 参数为一 Long,其中可包含任何有效的数值表达式。
说明
当一数字转成字符串时,总会在前头保留一空位来表示正负
用CStr 函数将数字转换成字符串,注意数字前面没有一个空位

TA的精华主题

TA的得分主题

发表于 2013-1-26 18:48 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

1234

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-4-23 06:56 , Processed in 0.026371 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表