【问题标题】:Using VBA for Excel i want to make the text bold使用 VBA for Excel 我想让文本加粗
【发布时间】:2011-09-06 16:02:06
【问题描述】:

我想要一个宏来查找写在另一个 excel 中的列中的所有单词并将它们加粗。

对于 EX:我在 Excel 的 B 列中写入了诸如 new、grow 等单词,宏必须在另一个 excel 中单独查找这些单词并将它们加粗并将单元格的背景更改为红色。

提前致谢。

【问题讨论】:

  • 是 Jmax:我尝试了一个宏,但在其中我需要提供一个输入框或者我需要提供一个单独的单词,因为宏不会自动进入下一个单元格列。
  • 单元格中的单词是单独的还是较长文本的一部分?
  • @Tim:它们是句子中某些单词的一部分示例 Reserve 是作为句子“We need to Keep a XX Amount of Reserve wit us.: & I want整个句子,或者我会说 CEll 是 Bold。
  • “保留”呢?会突出显示吗?另一个Excel文件如何选择?它已经开放了吗?你可以使用 Range 对象的 .Find() 方法来做你想做的事。有关示例,请参见此处vbaexpress.com/kb/getarticle.php?kb_id=780。试试看。
  • 嗨蒂姆,我已经编写了代码,可以打开我们正在搜索的文件,以及上面的;ink 部分有用,因为我想要一个宏,它将单元格值作为搜索的参考而不是将单元格加粗的输入框也我希望单词在该单词所在的单元格中加粗。

标签: excel vba


【解决方案1】:

你可能想看看条件格式。

假设您有要在 B 列中查找的值,并且您希望突出显示某个范围内的所有值,例如 D4:F15

选择范围D4:F15,创建新的格式化规则并选择“使用公式确定要格式化的单元格”。输入=ISNUMBER(MATCH(D4;$B:$B)) 作为公式,并根据需要设置格式。请注意,公式中的D4 必须是范围的第一个单元格。

如果你不需要更多,好处是你根本不需要宏,格式化也可以实时完成。

【讨论】:

  • Joubarc:我想要一个对我有帮助的宏,我想在不同的工作表中加粗字,而不是在工作表中,也不希望有人在其中使用时间。
  • “不同的工作表”部分很容易解决,只需将$B:$B 替换为对另一个工作表的正确引用即可。如果您真的想要一个宏,那么这确实不是您想要的,但我认为作为解决手头问题的不同方法可能会很有趣。令我困惑的是,您“不希望有人在其中使用时间”-我不确定我是否理解。谁的时间?你的?我们的?正如 JMax 所说,到目前为止,您尝试了什么?
  • Joubarc:我的意思是我不希望一个人(Macro 的用户)花时间将公式应用于所有领域,因为我们有太多擅长的领域来完成这项任务,其中只是excel会改变,但单词保持不变。
  • 好的,感谢您的澄清 - 您可能也想在问题中明确说明
  • @Joubarc:您的解决方案仍然是一个非常好的解决方案。您可以通过使用Named Range 在条件格式中使用对另一个工作表的引用。顺便说一句,我 +1 你的解决方案:) 我不认为我会给出 vba 答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多