我用excel vba写了一个函数。函数的返回值是日期,但函数只返回单元格中的日期值
如何将单元格格式更改为日期(短日期是首选)
这是我的代码
Function ggg(rng As Range) As Date
ggg = rng.value - 466699
ggg = CDate(ggg)
End Function
您无法使用该功能更改单元格的格式。您需要一个返回字符串的子例程或函数。例如:
Function ggg(rng As Range) As String
ggg = Format(rng.Value, "yyyy-mm-dd")
End Function
右键单击工作表选项卡并选择“查看代码”。粘贴下面提供的代码。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Range
For Each cel In Target.Cells
If cel.HasFormula And (InStr(1, cel.Formula, "=ggg(", vbTextCompare) = 1) Then
cel.NumberFormat = "dd-mm-yyyy"
End If
Next cel
End Sub
看看它是否对您的事业有帮助!
shrivallabha.redij,谢谢你!!!
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Formula Like "=ggg(*" Then
Target.NumberFormat = "m/d/yyyy"
End If
End Sub
也有效。