如何在 Google 工作表中使用 VBA 来突出显示具有特殊字符和大写字母的单元格?
How to use VBA in Google Sheets to highlight cells with special characters and uppercase letters?
我设法获得了一个在 Microsoft Excel 中工作的 VBA-片段,它突出显示了 C1 到 E10000 范围内的所有单元格,其中包含除小写 a–z、数字和连字符之外的任何其他内容。
代码如下所示:
Option Explicit
Sub SpecialChars()
Dim RangeToCheck As Range, c As Range
Set RangeToCheck = Range("C1:E10000")
For Each c In RangeToCheck
If Len(c.Text) > 0 Then
If c.Text Like "*[!.a-z0-9\-]*" Then
c.Interior.Color = vbRed
Else: c.Interior.Color = vbYellow
End If
End If
Next c
End Sub
将其传输到 Google 表格的正确方法是什么?我认为问题可能是 Google 使用 JavaScript 而 Excel 使用其他东西。
我还是想在这里试一试。
如果您在 Google Apps 中工作,最好通过 GAS(Google Apps 脚本)。那就是基于 JavaScript 的 Google 相当于 VBA.
我认为您不需要脚本。您可以使用条件格式。您使用 VBA
的唯一原因似乎是因为您需要 REGEX
,Microsoft excel 不支持,除非通过 VBA
。 Google 但是 Sheets 具有 REGEX
内置支持。
... highlights all Cells in Range C1 to E10000 which contain anything else than lowercase a–z, numbers and hyphens....
条件格式>自定义公式:
=REGEXMATCH(C1,"^[a-z0-9\-]+$")
这将用于匹配
- 小写
- 数字
- 连字符 (-)
突出显示黄色
适用范围:C1:E10000
注意:空格不匹配。所以,如果你有空格,它将不匹配。
我设法获得了一个在 Microsoft Excel 中工作的 VBA-片段,它突出显示了 C1 到 E10000 范围内的所有单元格,其中包含除小写 a–z、数字和连字符之外的任何其他内容。
代码如下所示:
Option Explicit
Sub SpecialChars()
Dim RangeToCheck As Range, c As Range
Set RangeToCheck = Range("C1:E10000")
For Each c In RangeToCheck
If Len(c.Text) > 0 Then
If c.Text Like "*[!.a-z0-9\-]*" Then
c.Interior.Color = vbRed
Else: c.Interior.Color = vbYellow
End If
End If
Next c
End Sub
将其传输到 Google 表格的正确方法是什么?我认为问题可能是 Google 使用 JavaScript 而 Excel 使用其他东西。
我还是想在这里试一试。
如果您在 Google Apps 中工作,最好通过 GAS(Google Apps 脚本)。那就是基于 JavaScript 的 Google 相当于 VBA.
我认为您不需要脚本。您可以使用条件格式。您使用 VBA
的唯一原因似乎是因为您需要 REGEX
,Microsoft excel 不支持,除非通过 VBA
。 Google 但是 Sheets 具有 REGEX
内置支持。
... highlights all Cells in Range C1 to E10000 which contain anything else than lowercase a–z, numbers and hyphens....
条件格式>自定义公式:
=REGEXMATCH(C1,"^[a-z0-9\-]+$")
这将用于匹配
- 小写
- 数字
- 连字符 (-)
突出显示黄色
适用范围:C1:E10000
注意:空格不匹配。所以,如果你有空格,它将不匹配。