我有一些從網站下載的資料,該資料的一列包含回歷日期。為了將此列作為正確的日期列,我應用了以下格式:

但除非我輸入單元格(通過雙擊或 F2)然后按 Enter,否則它不會被視為日期并與右側對齊的問題
因為行數很大,我使用的方式不實用
我嘗試了以下方法:
- 將單元格復制到記事本,然后再次粘貼到excel中,但沒有用
- 將日期分隔符從“-”替換為“.” 然后替換回“-”,就好像日期分隔符是“。” 并替換為通常用于公歷日期的 "-" 將其從文本轉換為日期
- 創建了一個 VBA 代碼,應用所選單元格的代碼進入單元格并退出它們以重繪 ,請檢查以下內容:
Sub HijriDateEnforce() Dim cel As Range Dim selectedRange As Range Set selectedRange = Application.Selection For Each cel In selectedRange.Cells Selection.NumberFormat = "[$-1970000]B2dd/mm/yyyy;@" SendKeys "{F2}~" Next cel End Sub
但是由于未知原因的代碼,如果行數很大,它會在一段時間后停止,我必須為剩余的單元格再次運行它
uj5u.com熱心網友回復:
我討厭建議,.Select但我之前建議的在您的情況下不起作用。所以試試這個
代碼
Sub HijriDateEnforce()
Dim acell As Range
Dim selectedRange As Range
Set selectedRange = Application.Selection
selectedRange.NumberFormat = "[$-1970000]B2dd/mm/yyyy;@"
For Each acell In selectedRange
acell.Select
Application.SendKeys "{F2}"
Application.SendKeys "{ENTER}"
DoEvents
Next acell
End Sub
在行動

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/361420.html
