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
Excel 单元格中的第一个 ' (没有任何前导空格)是 Excel 处理的特殊字符,将单元格的格式视为文本。您在第一个字符为 '(没有任何前导空格)的单元格中键入“Hello”,Excel 会将其视为内容为 Hello 的文本。单引号将消失,从这个意义上说,它可能对公式不可见。
在单元格开头,您可能会在 ' 之后立即出现单词 Hello ,或者在单元格开头有空格,然后是空格,然后是空格,然后是空格,然后是单词 Hello。所以公式很可能会忽略第一种情况。
你可以试试这个 VBA 宏,看看它是否适合你。我已经在 Excel 2013 中对其进行了测试,但您的 2007 版本的行为可能会有所不同。 Alt+F11访问 VBA 编辑器。插入一个模块并将以下代码粘贴到其中。将文件另存为 .xlsm。
将 E3:E7 替换为您想要的范围或修改它以将其动态传递给它或修改它以首先选择所需的范围然后运行宏。
这是我运行时的外观。让我们知道您想要的结果是否类似。