-4

我设法得到一个在 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 使用其他东西。

我仍然想在这里试一试。

4

2 回答 2

2

我认为您不需要脚本。您可以使用条件格式。您使用的唯一原因似乎VBA是因为您需要REGEX,Microsoft excel 不支持,除非通过 VBA. 然而,谷歌表格有REGEX内置支持。

...突出显示范围 C1 到 E10000 中的所有单元格,其中包含除小写 a–z、数字和连字符以外的任何内容...。

条件格式>自定义公式

=REGEXMATCH(C1,"^[a-z0-9\-]+$")

这将用于匹配

  • 小写
  • 数字
  • 连字符 (-)

高亮黄色
适用范围:C1:E10000

注意:空格不匹配。所以,如果你有空格,它将不匹配。

于 2017-10-09T15:11:55.357 回答
-1

如果您在 Google Apps 中工作,最好通过GAS(Google Apps 脚本)来完成。那是基于 JavaScript 的 Google 相当于 VBA。

于 2017-10-09T13:59:27.507 回答