【问题标题】:Problem with language recognition in VBA codeVBA代码中的语言识别问题
【发布时间】:2019-11-08 17:54:35
【问题描述】:

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

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

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

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

我知道我可以这样做:

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

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

【问题讨论】:

  • 如果您要检查的只是粗体,那么您可以选择使用If Range("A10").Font.bold = True Then Range("A11").Font.bold = True,在VBA 中检查.bold 属性而不是字体样式姓名。大多数格式选项都可以这样做。
  • 除此之外,您可能正在使用谷歌翻译查看options like this
  • @Plutian 我也想检查斜体样式,但这仍然是一个不错的解决方案。谢谢

标签: excel vba


【解决方案1】:

您检查过Font.Bold PropertyFont.Italic Property 吗?

你可以这样做

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

【讨论】:

  • 谢谢,这是个好主意。我想使用 .Font.FontStyle 因为它同时复制了粗体和斜体样式(“Bold Italic”),这意味着我只需要使用一行代码,但这一行也很好。
  • Iirc Font.FontStyle "Bold Italic" 简单地将 Font.BoldFont.Italic 设置为 True
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-22
  • 2021-10-29
相关资源
最近更新 更多