我有一个XML文件,我将其放入Excel中以使其自动生成表格。第一列(A)具有名称,第二列(B)具有日期。还有一些列,但这些与此问题无关。
所以它看起来像这个截图:
现在Excel(2010)中存在一个非常愚蠢的错误。当我有数据列时,我将其属性设置为日期。但Excel不明白他们现在是约会。但是,如果我双击一个单元格来激活它,那时它开始理解它的日期...奇怪的错误,但我必须为每个单元格。
现在我在想的是,有一些宏或什么东西,在B列中一个接一个地激活每个单元格(如果有内容)。
现在,我不知道如何在Excel的VBA构建中做到这一点。
这里有人可以帮助我吗?我可以想象它只需要一些线就可以使它工作。
答案 0 :(得分:4)
突出显示列B /单击数据/文本到列/选择分隔/单击完成(未选择分隔符)。
应该这样做。
答案 1 :(得分:3)
试试这个:
Sub MacroTest()
Sheets("Sheet1").Select
LastRangeRow = Cells.Find("*", after:=Range("A1"), searchdirection:=xlPrevious).Row
Set Rng = Range("Sheet1!B2:B" & LastRangeRow)
For Each c In Rng.Cells
c.Select
SendKeys "{F2}", True
SendKeys "{ENTER}", True
Selection.NumberFormat = "dd/mm/yyyy hh:mm:ss"
Next
Range("A1").Select
End Sub
答案 2 :(得分:0)
我以前经历过这个 - 在Formula's Ribbon>计算箱>计算选项下拉菜单检查以确保选中“自动”。通常在选择“手动”时,除非您手动刷新单元格(即选择并按回车键),否则大量格式化更改将不会生效
答案 3 :(得分:0)
最简单的方法就是对各个单元格进行计算:
= A1-0
副本&粘贴值: - )
答案 4 :(得分:0)
我用这个:
Sub makeDate()
Dim rAn As Range
Application.ScreenUpdating = 0: Application.EnableEvents = 0: Application.Calculation = xlCalculationManual
For Each rAn In Selection.SpecialCells(xlCellTypeVisible)
rAn.NumberFormat = "dd/mm/yyyy"
rAn = Trim(rAn.Text)
rAn = DateValue(rAn)
Next rAn
Application.ScreenUpdating = 1: Application.EnableEvents = 1: Application.Calculation = xlCalculationAutomatic
End Sub
答案 5 :(得分:-1)
您的自动更正似乎对您不利。如果您注意到第20行底部的小蓝色三角形。尽管智能标签在2010年停止使用,但可能这不是您的情况。
这是Offce Link regarding AutoCorrect Buttons 在首选项>校对>自动更正选项>操作中,您可以控制其他操作以及Excel是否正在尝试更正您的日期输入。我没有您要测试的数据样本,但摆弄这些偏好可能会让人无法理解。