簡體   English   中英

如何讓excel UDF返回實際的日期時間而不是一般或雙倍?

[英]How to get excel UDF to return an actual datetime instead of general or double?

您好我已經創建了一個Excel UDF,它返回一個字符串,日期和整數數組。 然而,Excel將我的日期時間值轉換為double,因此我必須手動選擇值並轉換為excel中的短日期。 如果我在我的c#代碼中將日期轉換為字符串,excel會將其識別為通用,因此我無法獲取該單元格的值。 這有解決方法嗎?

提前致謝!

如您所知,Excel沒有值作為日期/時間的內部表示 - 日期只是應用了不同格式的雙倍。 一些內置函數,如=TODAY() ,由Excel內部特殊設置,並自動應用日期格式。 Excel沒有用於用戶定義的函數的機制來選擇這種特殊行為。

一個解決方法,雖然不是我建議的,但是運行一個宏,在計算完成后改變調用單元格的格式。 您存儲需要重新格式化的單元格(基於Application.Caller / xlfCaller),並運行一個更改單元格格式的宏 - 來自計算事件處理程序或使用Application.OnTime進行調度。

這很難看。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM