与select case连接

在我的电子表格中,我有时间给出以下格式:1415或415或45或5.我需要将其转换为14:15或04:15,00:45或00:05。

这是我尝试过的编码,但它给了我错误信息:

编译错误:Sub或函数未定义

Dim LENGTH As Integer Do Until IsEmpty(ActiveCell.Value) ActiveCell.Offset(1, 0).Range("A1").Select a = ActiveCell.Value LENGTH = Len(a) Select Case LENGTH Case Is = 4 B = Value(Concatenate(Left(a, 1), ":", Right(a, 2))) Case Is = 3 B = Value(Concatenate("0", Left(a, 1), ":", Right(a, 2))) Case Is = 2 B = Value(Concatenate("00", ":", Right(a, 2))) Case Is = 1 B = value(Concatenate("00:0", ":", Right(a, 1))) End Select ActiveCell.Value = B Selection.NumberFormat = "hh:mm" Loop 

您正在尝试使用Excel公式如VBA函数。
你可能会这样做,但只能使用WorksheetFunction。

例:

 Sum(1, 2, 3) 

将无法工作。

 WorksheetFunction.Sum(1, 2, 3) 

将工作。

重要提示: 大多数不是所有的 WorksheetFunctions都可以在VBA中访问。 作为一般规则,那些具有相同VBA解决scheme的函数不能通过WorksheetFunction访问。

连接,例如,不是。 但是,您可以使用连接string:

 "Apple " & "Pie" -> "Apple Pie"