我有一些数据是从一个网站下载的,其中一列数据包含Hijri日期。为了将此列作为适当的日期列,我应用了以下格式:

但是,除非我输入单元格(通过双击或F2),然后按enter键,否则它不会被视为日期并与右边对齐。
因为行数很大,所以我使用的方式是不切实际的
我尝试了以下几点:
Sub HijriDateEnforce() Dim cel Range Dim selectedRange As Range Set selectedRange = Application.Selection For selectedRange.Cells Selection.NumberFormat = "$-1970000B2dd/mm/yyyy;@“SendKeys "{F2}~”
但是,由于未知的原因,如果行数很大,它会在一段时间后停止,我必须再次运行它来处理剩余的单元格。
发布于 2021-11-18 07:36:56
我讨厌建议.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 SubIn Action

https://stackoverflow.com/questions/70015987
复制相似问题