我在excel vba中编写了一个函数。函数的返回值是日期,但函数只返回单元格中日期的值
如何更改单元格格式到日期(首选短日期)
这是我的代码
Function ggg(rng As Range) As Date
ggg = rng.value - 466699
ggg = CDate(ggg)
End Function
答案 0 :(得分:0)
您无法使用该功能更改单元格的格式。您需要一个子程序或返回字符串的函数。例如:
Function ggg(rng As Range) As String
ggg = Format(rng.Value, "yyyy-mm-dd")
End Function
答案 1 :(得分:0)
右键单击工作表选项卡,然后选择"查看代码"。粘贴以下提供的代码。
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
看看它是否有助于你的事业!