ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 9233|回复: 26

[求助]CHAR函数的困惑

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-3-10 23:15 | 显示全部楼层 |阅读模式
本帖已被收录到知识树中,索引项:CHAR
我在《应用大全》里面看到CHAR可以支持 33025~65535的数值转换为对应的字符,可是为什么我输入CHAR(65535)时出现错误呢?

TA的精华主题

TA的得分主题

发表于 2008-3-10 23:40 | 显示全部楼层

Chr 函数

请参阅     示例     特性

返回 String,其中包含有与指定的字符代码相关的字符 。

语法

Chr(charcode)

必要的 charcode 参数是一个用来识别某字符的 Long

说明

0 到 31 之间的数字与标准的非打印 ASCII 代码相同。例如,Chr(10) 可以返回换行字符。charcode 的正常范围为 0 – 255。然而,在 DBCS 系统,charcode 的实际范围为 -32768 到 65535。

注意 ChrB 函数作用于包含在 String 中的字节数据。ChrB 总是返回一个单字节,而不是返回一个字符,一个字符可能是一个或两个字节。ChrW 函数返回包含 UnicodeString,若在不支持 Unicode 的平台上,则其功能与 Chr 函数相同。

注意 Visual Basic for the Macintosh 不支持Unicode 字符串。因此,当n 值在128 – 65,535 范围内时, ChrW(n) 不能像在Windows环境中那样返回所有的 Unicode 字符。相反地,当Unicode 的n 值大于127 时,ChrW(n) 会试图做一个“最好的猜测”。因此,在Macintosh 环境中,不能使用ChrW

TA的精华主题

TA的得分主题

发表于 2008-3-10 23:41 | 显示全部楼层
CHAR

返回对应于数字代码的字符。函数 CHAR 可将其他类型计算机文件中的代码转换为字符。

操作环境字符集
MacintoshMacintosh 字符集
WindowsANSI

语法

CHAR(number)

Number   是用于转换的字符代码,介于 1 到 255 之间。使用的是当前计算机字符集中的字符。

示例

如果将示例复制到一个空白工作表中,可能会更容易理解该示例。

显示如何复制示例

  1. 创建一个空白工作簿或工作表。
  2. 选择“帮助”主题中的示例。

     注释   不要选择行或列标题。

    从“帮助”中选择示例

    从“帮助”中选择示例
  3. 按 Ctrl+C。
  4. 在工作表中,选择单元格 A1,然后按 Ctrl+V。
  5. 要在查看结果和查看返回结果的公式之间进行切换,请按 Ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。

TA的精华主题

TA的得分主题

发表于 2008-3-10 23:51 | 显示全部楼层

2007和2003里的CHAR函数不太一样

2003里CHAR(65535)是空白,2007里是错误值

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-3-11 06:46 | 显示全部楼层
QUOTE:
以下是引用laoyebin在2008-3-10 23:51:23的发言:

2007和2003里的CHAR函数不太一样

2003里CHAR(65535)是空白,2007里是错误值

哦,原来是这样,那我想表示无限接近最大的文本该如何表示

TA的精华主题

TA的得分主题

发表于 2008-3-11 16:08 | 显示全部楼层
々  好像这个字在汉语中最大,ALT+41385

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-3-11 21:44 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2008-3-11 22:00 | 显示全部楼层
QUOTE:
以下是引用syz105729913在2008-3-11 21:44:36的发言:

但是在2007里面CHAR(65535)是错误值

那你就用々好了哇,我感觉还是输入这个快点呢

TA的精华主题

TA的得分主题

发表于 2008-3-11 23:05 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

试了一下

A1:A65536输入=CHAR(ROW())

输入=MATCH("々",A:A) 等于39038

A39038是一个空字符,之后的单元格都是#VALUE!错误

那这样是不是就可以认为々是最大的了呢?

TA的精华主题

TA的得分主题

发表于 2008-3-11 23:24 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
QUOTE:
以下是引用czzqb在2008-3-11 23:15:01的发言:

不是这样测试的。这样的测试结果不能说明它最大。

A1=CHAR(ROW()),下拉到65535

B1=A1>"々",下拉到B65535

如果B列不出现TRUE,说明々最大

C1=A1>CHAR(65535),下拉到C65535

如果C列不出现TRUE,说明CHAR(65535)最大

在2003及以下版C列只出现了5个TRUE

用这个方法试了,々没有出现TRUE,都是FALSE和#VALUE!

CHAR(65535)输入进去就是一个#VALUE!错误值了,不能比较

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-4-27 03:20 , Processed in 0.034237 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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