【问题标题】:How do I return all the formatting from a cell in Excel using VBA?如何使用 VBA 从 Excel 中的单元格返回所有格式?
【发布时间】:2014-12-29 17:20:47
【问题描述】:

如何使用 VBA 在 Excel 中返​​回有关单元格的所有格式信息。例如:

我需要知道哪些文本是紫色的,哪些是绿色的,哪些是被划掉的。 Range("B2").Value 只返回纯文本。我也需要格式。

【问题讨论】:

  • 您需要逐个字符地检查单元格的内容,测试每个感兴趣的格式属性,并只保留唯一的组合。
  • 一旦您根据 Gene 的评论开发了一些代码,请在此处发布,我们将帮助您解决问题。
  • @GeneSkuratovsky 你如何逐个字符检查?我只知道如何在没有格式的情况下获取内容。
  • @GeneSkuratovsky 没关系!看起来像那个问题already has an answer
  • @Cody 是的,这是关于 'char-by-char' 的答案......但是,它显示了如何检查特定颜色;它没有显示如何通常确定使用哪种颜色来格式化字符...... OP 可能还想检查字体名称、字体大小、粗体、斜体、上标等格式化属性。只要我们在谈论“关于 Excel 中的单元格”我们不应该忽略单元格对齐(垂直和水平)、填充颜色和图案、渐变、边框(其中、线条大小和颜色)等。现在显示的问题仍然是一个非常非常广泛的问题。

标签: vba excel


【解决方案1】:

您最好的选择可能是使用 Intellisense 来探索所有可用的值。您可以使用.Color.Strikethrough.Bold 等完成下面的代码 sn-p,然后将它们打印到即时窗口。 (如果您当前没有显示即时窗口,则 Ctrl+G 显示即时窗口)

Sub test()
debug.Print Range("B1").Font 'finish this line with any of the IntelliSense options to learn things about the text
End Sub

您还可以查看 MDSN 网站上列出的 font object 的属性

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-18
    • 2013-11-02
    • 1970-01-01
    • 2019-01-30
    • 2018-02-25
    • 1970-01-01
    相关资源
    最近更新 更多