VBA ListBox和ComboBox显示错误的字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VBA ListBox和ComboBox显示错误的字符相关的知识,希望对你有一定的参考价值。
Excel VBA ListBox和ComboBox显示错误的字符,而TextBox使用相同的UserForm提供正确的字符。
ListBox和ComboBox提供了一些Ansi替代而不是波罗的海字符,这是错误的。
我改变了:
- 使用ListBox.Font.Charset属性将form和listBox的字符集从133转换为163
- 使用字体Arial或Times New Roman与波罗的海编码
- 阅读互联网上的大量网页,但仍然没有运气..
感谢您的关注
我使用的代码如下:
Private Sub UserForm_Initialize()
UserForm2.Font.Charset = 186
ListBox1.List = Array("ĄČęėį", "Žųūįšų", 222) -> does not provide correct text :(
With ListBox1
.AddItem "Vilnius"
.AddItem "Kaunas"
.AddItem "Klaipėda" -> Klaipëda
.AddItem "Šiauliai" -> Ðiauliai
.AddItem Chr(222)
End With
最后看起来VBA编辑器遇到国际字符问题 - 如果通过“对象属性”窗口使用按钮标题 - 则会出错。
但是直接在表单上输入标签和按钮文本可以提供正确的结果,因此这里有一个解决方法 - 使用RowSource选项,从excel表中获取数据,它提供了正确的编码:ListBox1.RowSource =“= Sheet2!A1:A5”
这个解决方案方便我的需求,现在问题已经关闭。
感谢您的答复。
答案
要使用正确的国际字符填充ListBox和ComboBox,我使用了Object Property窗口提供RowSource并从Excel表中获取数据。在VBA编辑器中,它看起来像这样:ListBox1.RowSource =“= Sheet2!A1:A5”这种方法适用于波罗的海和俄语,我没有尝试过其他语言。
以上是关于VBA ListBox和ComboBox显示错误的字符的主要内容,如果未能解决你的问题,请参考以下文章
ListBox 内的 DataContext ComboBox 绑定
数据绑定到 List - 查看 ListBox、ComboBox 中数据源的变化