使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

症状

当运行 Microsoft Excel 宏或其他编程代码时,将单元格的数据验证规则设置为有效条目的列表时,单元格中的数据验证列表中的所有项目都将显示在一行中。

原因

如果满足以下条件,则会发生此问题:

  • 列表分隔符设置(在 "控制面板" 中的 "区域选项" 下)不是逗号(,)。 例如,如果你的区域设置为 "德国",则列表分隔符为分号。

  • 用于数据验证的宏使用该列表分隔符指定有效的单元格条目。

  • 宏代码显式指定列表,而不是指向列出有效条目的单元格区域。

解决方法

创建宏以指定有效条目的特定列表时,请始终使用逗号(,)作为列表分隔符。

更多信息

在 Excel 中,Microsoft Visual Basic for Applications 始终使用逗号作为列表分隔符。 这允许你在具有不同区域设置的计算机上运行宏,而无需编辑你的代码。 当使用 VBA (XLValidateList Formula1)传递逗号分隔的数组以进行数据有效性时,将应用255字符限制。当运行使用列表分隔符更改设置的宏时,宏会将逗号转换为本地区域列表分隔符。 例如,如果宏创建数据验证列表,或使用区域在单元格中输入公式,则会出现这种情况。公式("数字 1,数字 2") 命令。

参考

有关 Excel 中的数据验证的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

211485 Excel 中数据有效性的说明和示例

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×