2016-07-10 21 views
-1

Wie zu konvertieren dd hh: mm Ausgabe nur in Minuten.Konvertieren von HH: MM: SS in Minuten

Wenn "dd hh: mm" ist "01 10:20" Ich brauche den Wert nur in Minuten "2060".

Sub ACD() 

lastrow = ActiveSheet.UsedRange.Rows.Count 

Range("C1").Select 

ActiveCell.FormulaR1C1 = "=IFERROR(TEXT(RC[-1]-NOW(),""dd hh:mm""),""00 00:00"")" 

Selection.AutoFill Destination:=Range("C1:c" & lastrow) 

For b = 1 To lastrow 

    b = DateDiff("n", Now(), Range("B" & b).Value) 

Next 

End Sub 
+0

Sind Sie sich bewusst, dass es 60 Minuten in einer Stunde gibt und dass ein Tag aus 24 Stunden oder 1440 Minuten besteht? Machen Sie die Mathematik in VBA und Sie sind fertig: 'Stunde (someDate) * 60 + Minute (someDate) + ....'. – Ralph

+0

Ich bin neu in VBA ... Ich weiß nicht genau, wo ich das ändern soll ... –

+0

Sie versuchen auch, die Minuten der For-Schleife Variable zuzuweisen. Was ich nicht glaube, ist was du willst. –

Antwort

0

Als jemand erwähnt, die Sie nicht wirklich VBA brauchen dafür aber so etwas wie

Sub ACD()  
    With ActiveSheet.UsedRange.Range("C:C") 
     .FormulaR1C1 = "=IFERROR((RC[-1] - NOW()) * 24 * 60 , 0)" 
     .NumberFormat = "0" 
    End With 
End Sub 

Daten in Excel werden als Anzahl der Tage gespeichert, so dass die Differenz zwischen dem Datum in Spalte B und Das aktuelle Datum gibt Ihnen eine Anzahl von Tagen wie 1.43055555556. Wenn Sie das mit der Anzahl der Stunden an einem Tag und der Anzahl der Minuten in Stunden multiplizieren (24 * 60 = 1440), erhalten Sie etwas wie 2060.1234. Die .NumberFormat = "0" wird verwendet, um diese Differenz als Ganzzahl 2060 anzuzeigen. Wenn Sie nur die Minuten ohne die Sekunden möchten, können Sie die Funktionen INT oder ROUND verwenden:

+0

Es gibt den gemeinsamen Fehler "91". Objektvariable oder mit Block nicht gesetzt –

+0

ops .. Ich habe 'Set' vergessen – Slai

+0

Perfekt !!!!! Vielen Dank @Slai .. :-) Bitte ersparen Sie sich eine Minute um zu erklären, wie es funktioniert –

Verwandte Themen