首页 > 解决方案 > VBA代码中的语言识别问题

问题描述

我正在尝试使用以下代码将字体样式从一个范围复制到另一个范围:

Range("A10").Font.FontStyle = Range("A11").Font.FontStyle

通常它的工作方式是从范围“A11”中提取“粗体”字体样式的名称,并使用它来设置范围“A10”的字体样式。

但是,由于我的 Excel 的语言设置为波兰语,而不是“粗体”,它会提取字体样式的波兰语名称(“Pogrubiony”)。因此,代码不起作用,因为 VBA 只接受英文名称(据我所知)。

我知道我可以做这样的事情:

if Range("A11").Font.FontStyle = "Pogrubiony" Then Range("A10").Font.FontStyle = "Bold"

但我想知道VBA是否有办法自动将名称转换为英文,或者如果字体样式的名称是不同的语言,则可以识别它?

标签: excelvba

解决方案


你检查过Font.Bold 属性Font.Italic 属性吗?

你可以做类似的事情

Sheet1.Range("A11").Font.Bold = Sheet1.Range("A10").Font.Bold
Sheet1.Range("A11").Font.Italic = Sheet1.Range("A10").Font.Italic

推荐阅读