自动为Excel中的单元格中的部分文本着色

时间:2017-09-18 23:17:09

标签: excel excel-vba colors format vba

我正在试图找到一种方法让我们在特定工作表中的特定范围的单元格的一个单元格中输入文本“3b”(比如单元格范围:J19:O500和工作表名称:WWP),操作这将自动将该单元格的背景更改为蓝色,将字母“b”自动更改为蓝色(请注意,只有“b”字母变为蓝色,目标是在技术上“隐藏”字母“b”背景颜色,只在视觉上留下黑色的“3”文字)。文本中的数字将是可变的(1,2,3,4,10,20,最多99),但字母只有四个(b =蓝色,r =红色,g =绿色,y =黄色) 。目前,我们的团队每周在我们使用的标准文件中手动着色数百个单元格,因此如果我们可以通过允许我们的团队输入他们想要的单元格的“数字”加上“字母“将自动格式化单元格(b,r,g,y)。我理解Macros是一个选项,但我没有很多经验。非常感谢你的建议。

2 个答案:

答案 0 :(得分:0)

如果我正确理解您的问题,您基本上会希望选定范围内的单元格仅显示数字变量,然后使用指定的字母变量为该单元格着色。如果你想在不使用VBA的情况下这样做,那么你可以试试这个这将需要额外的电子表格来处理部分字体格式

这可以这样做:

  1. 在工作簿中创建新工作表。
  2. 使用此颜色格式在真实工作表开始的同一单元格中键入以下公式。例)范围在Sheet2 A1:B3中,将此公式放在Sheet3 A1:B10
  3. 式 - > =IFERROR(MID(Sheet2!A1,1,LEN(Sheet2!A1)-1),"") *这将仅返回其他电子表格中单元格中的数字,假设在r,g,b,y之后没有其他字符继续

    确保将此公式复制到您要格式化的整个单元格区域

    1. 选择要使用的工作表3中的范围(工作表2中的相同范围)
    2. 转到条件格式
    3. 选择新规则 6.输入此公式

      = RIGHT(Sheet 2中!A1:B3,1)=" R"

    4. (A1:B3恰好是我的范例.R代表红色

      1. 选择红色格式
      2. 重复步骤3到7,直到满足每种颜色格式。 (只需将步骤6' R'中的公式更改为G,B或Y,并分别更改格式。

答案 1 :(得分:0)

试试这个。

Dictionary<string, string>