2016-08-16 5 views
1

In meiner Tabelle habe ich Zeit geben in den folgenden Formaten: 1415 oder 415 oder 45 oder 5. Ich muss dies zu 14:15 oder 04:15, 00:45 oder 00:05 konvertieren.Verketten Sie mit ausgewählten Fall

Hier ist die Codierung Ich habe versucht, aber es gibt mir die Fehlermeldung:

Compile Fehler: Sub oder definierte Funktion nicht

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 

Antwort

2

Sie versuchen, Excel-Formeln wie VBA-Funktionen zu verwenden.
Sie können das manchmal tun, aber nur WorksheetFunction verwenden.

Beispiel:

Sum(1, 2, 3) 

wird nicht funktionieren.

WorksheetFunction.Sum(1, 2, 3) 

wird funktionieren.

Wichtig:meisten, aber nicht alle WorksheetFunctions zugänglich sind, in VBA. In der Regel sind diese Funktionen mit einer entsprechenden VBA-Lösung nicht über WorksheetFunction verfügbar.

Verketten, zum Beispiel, ist nicht. Sie können jedoch verketten Saiten mit &:

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

Dank Ulli, die den Trick tat, entfernte ich die verketten und verwendet das „&“ und es funktioniert wie ein Charme. – Baber62