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

问题描述 投票:1回答:1

我有两列数据。每个单元格格式为:“***”或“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行遇到“下标超出范围”错误。

我在这里错过了什么?

excel vba excel-vba
1个回答
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

它检查c中是否有“at”,因此拆分不会导致错误。

© www.soinside.com 2019 - 2024. All rights reserved.