2016-08-16 30 views
1

在我的電子表格中,我有時間給出以下格式:1415或415或45或5.我需要將其轉換爲14:15或04:15,00:45或00:05。與選定案例連接

這是我已經試過編碼,但它給我的錯誤信息:

編譯錯誤:子或函數定義

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 

回答

2

您正在嘗試使用Excel的公式像VBA函數。
有時您可能會這樣做,但只能使用WorksheetFunction。

例子:

Sum(1, 2, 3) 

將無法​​正常工作。

WorksheetFunction.Sum(1, 2, 3) 

將工作。

重要:大多數,但不是所有 WorksheetFunctions在VBA訪問。作爲一般規則,那些具有等效VBA解決方案的功能無法通過WorksheetFunction訪問。例如,連接,不是連接。你可以,但是,連接字符串與&

"Apple " & "Pie" -> "Apple Pie" 
+1

感謝烏利該訣竅,我刪除了串連,並用「與」和它的作品就像一個魅力。 – Baber62