条件格式单元格规则:第一个字符忽略前导空格(Excel 2007)

条件格式单元格规则:第一个字符忽略前导空格(Excel 2007)

是否有一条规则可以指定所有第一个字符为 ' 的单元格,而忽略前导空格?

我正在使用 Excel 进行宏故障排除,希望使注释单元格变暗。以 ' 开头,但通常有多种的前导空格(有时超过 50 个,它们是 vba 中的缩进)。 (我想保留空格。)

我已经制定了以“,[空格]”,“,[空格][空格]”等开头的条件格式规则,但这将需要 50 多条规则,才能捕获缩进很长的注释!(它不需要应用于除空白外任何其他字符串后面都有 ' 的单元格。)

问题示例

或者有什么方法可以指定任何数字在 Excel 中,连续空格是多少?(在 Word 中我可以使用“ {1,}'"。)

谢谢 :)

答案1

Excel 单元格中的第一个 '(没有任何前导空格)是 Excel 处理的特殊字符,用于将单元格的格式视为文本。您在第一个字符为 '(没有任何前导空格)的单元格中输入 'Hello',Excel 会将其视为内容为 Hello 的文本。单引号将消失,从这个意义上讲,它可能对公式不可见。

您可能会遇到这样的情况:单元格开头的单词 Hello 紧跟在 ' 之后,或者先是空格,然后是 ' 然后是 Hello,甚至单元格中先是空格,然后是 ' 然后是空格,然后是单词 Hello。因此,公式可能会忽略第一种情况。

您可以尝试这个 VBA 宏,看看它是否适合您。我已经在 Excel 2013 中测试过它,但您的 2007 版本可能会有所不同。 Alt+F11访问 VBA 编辑器。插入一个模块并将以下代码粘贴到其中。将文件另存为 .xlsm。

Sub test1()


For Each cell In Range("E3:E7")


 If cell.PrefixCharacter = "'" Then
    With cell.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent4
        .TintAndShade = 0.799981688894314
        .PatternTintAndShade = 0
    End With
 Else

   If Left(Trim((cell.Value)), 1) = "'" Then
    With cell.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent4
        .TintAndShade = 0.799981688894314
        .PatternTintAndShade = 0
    End With

   End If

 End If
Next cell

End Sub

将 E3:E7 替换为您想要的范围或修改它以动态地将其传递给它或修改它以先选择所需的范围然后运行宏。

在我的情况下,运行时看起来是这样的。如果您期望的结果与此类似,请告诉我们。

在此处输入图片描述

相关内容