Excel vba - Split函数在循环内部给出“下标超出范围”错误

时间:2017-12-19 09:58:44

标签: excel vba excel-vba

我有两列数据。 每个单元格格式为:“***”或“XXX at mm.dd.yyyy”,其中XXX表示各种数字组合,我需要将“XXX at mm.dd.yyyy”替换为“XXX”,所以我'做到了这一点:

For Each c In Range(.Cells(2, 9), .Cells(finalrow, 10))
        If c <> "***" Then
            c.Value = Split(c, " at")(0) * 1
        End If
Next c

但是我在第2345行遇到了“下标超出范围”错误。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:4)

由于2345行空白,您可能会收到错误:

For Each c In Range(.Cells(2, 9), .Cells(finalrow, 10))
        If c <> "***" Then
            If InStr(1, c, " at ") Then
                c.Value = Split(c, " at")(0)
            End If
        End If
Next c

检查是否有&#34; at&#34;在c中,因此拆分不会导致错误。