例如,我有一个单元格值 A1 = 17/06/2016 19:00:46 我想把它改成17/06/2016 19:00:00 所以基本上秒必须是0但我似乎无法通过格式化实现。我的格式为dd / mm / yyyy hh:mm,但秒仍然保留。 我将使用这些值来匹配使用vba中的Application.Match在不同工作表中的值。不同的工作表将秒数设为0,因此,要匹配它,我需要将这些转换为0秒。 谢谢。
答案 0 :(得分:2)
实现这一目标的更简单方法:
Function DateWithZeroSeconds(MyDate As Date)
DateWithZeroSeconds = Format(MyDate, "dd/mm/yyyy h:m") & ":00"
End Function
答案 1 :(得分:0)
选择要转换的单元格并运行此短宏:
Sub SecondKiller()
Dim d As Date, d2 As Date
For Each r In Selection
d = r.Value
r.Value = DateSerial(Year(d), Month(d), Day(d)) + TimeSerial(Hour(d), Minute(d), 0)
Next r
End Sub
答案 2 :(得分:0)
另一种方法是格式化Excel单元格,然后将秒数显示为00:
Sub FormatRange_AsDate(ByVal Rg As Range)
With Rg
.NumberFormat = "d/m/yyyy h:mm:ss;@" 'give the format to the cell , showing seconds
.Value = Format(.Value, "d/m/yyyy h:m") & ":00" 'changing the seconds to "00", don't use .value2
End With
End Sub