回历日期格式
Hijri Date Formatting
我有一些从网站下载的数据,其中一列包含回历日期。为了使此列成为正确的日期列,我应用了以下格式:
但问题是它不会被视为日期并与右对齐,除非我输入单元格(通过双击或 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
但是由于未知原因,如果行数很大,代码会在一段时间后停止,我必须对剩余的单元格再次运行它
我讨厌建议 .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
在行动
我有一些从网站下载的数据,其中一列包含回历日期。为了使此列成为正确的日期列,我应用了以下格式:
但问题是它不会被视为日期并与右对齐,除非我输入单元格(通过双击或 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
但是由于未知原因,如果行数很大,代码会在一段时间后停止,我必须对剩余的单元格再次运行它
我讨厌建议 .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
在行动