2012-02-01 49 views
3

我有一个XML文件,我将其放入Excel以使其自动生成表格。第一栏(A)有一个名字,第二栏(B)有一个日期。还有几列,但这些与这个问题无关。Excel 2010选择连续的每个单元格,逐个激活它们

所以看起来这个截图:

Screenshot

现在有在Excel(2010年),一个非常愚蠢的错误。当我有数据列时,我将其属性设置为日期。但Excel不明白他们现在是日期。但是,如果我双击一个单元格来激活它,那么它就开始明白它的日期......奇怪的错误,但是我必须为每个单元格对此。

现在我在想什么,是有一些宏或什么东西,激活B列中的每个单元格(如果有内容)一个接一个。

现在,我不知道如何在构建Excel的VBA中执行此操作。

在这里有人可以帮助我吗?我可以想象它只需要几条线就可以实现。

回答

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 
+0

好吧!这似乎是工作! (你好,我的英雄!:P) – Dante1986 2012-02-01 14:46:47

+0

这对于OP来说非常棒。任何解释什么正在纠正? – datatoo 2012-02-01 15:04:15

+0

老实说,我不知道是什么原因造成了这个'问题'...我之前也遇到过同样的问题,并将它搜索到了。弹出的唯一答案是,当您将单元格格式化为一种类型然后更改该格式时,Excel不会始终识别该格式。当你双击Excel突然识别它... 有了这段代码,我只是模拟双击,并解决了问题... – Storm 2012-02-01 15:37:18

-1

看起来你有自动更正工作或反对你。如果您注意到第20行底部的蓝色小三角形,虽然智能标签在2010年停止使用,但这可能不是您的情况。

这是Offce Link regarding AutoCorrect Buttons 在首选项>校对>自动更正选项>操作中,您可以控制其他操作以及Excel是否尝试更正日期输入。我没有你的数据样本进行测试,但在这些偏好中摆弄可能会变得无能为力。

0

我曾经历过这之前 - 在公式的丝带>框计算>计算选项下拉检查,以确保“自动”被选中。通常当选择“手动”时,除非手动刷新单元格(即选择并按回车键),否则大量格式化更改将不会生效。

4

突出显示列B /单击数据/文本到列/选择分隔/单击完成分隔符被选中)。

这应该做到这一点。

+0

在选择“分隔符”之前,您可以转到“下一步”并明确指定列的新格式。我总是使用相同的方法。 – ZygD 2015-10-31 20:56:33

+0

快速且无需VBA,很好! – Pierre44 2017-12-15 12:54:57

0

最容易的事情北京时间只是运行在各个小区的计算:

= A1-0

和拷贝&粘贴值:-)

+0

[这个答案](http://stackoverflow.com/questions/9096636/excel-2010-select-each-cell-in-a-row-activate-them-one-by-one#13845053)实际上提供了一个更容易办法 ;) – ZygD 2015-10-31 21:00:23

相关问题