Excel – 复制显示的值不是实际的值
我是一名飞行员,并使用一个名为Logten Pro的日志程序。 我有能力从我的工作飞行pipe理软件中保存excel电子表格,并使用CSV格式导入Logten Pro。
然而,我的问题是工作飞行pipe理软件,把飞行起飞的date和时间以下面的excel格式输出到一个单元格中:DD / MM / YYYY H:MM:SS PM。 这可以通过Excel处理,并且默认格式化为DD / MM / YY,即使实际值更具体,包括全长date和时间组。
这是一个问题,因为Logten Pro只会自动导入date,如果它是DD / MM / YY格式,并且没有办法只显示DD / MM / YYdate而不是实际的完整date时间组值,除非您手动通过并删除function框中的额外文本。
我的问题是:是否有一个VBAmacros可以自动复制实际显示的文本,并将其粘贴到另一个单元格中,将实际值更改为只是DD / MM / YY值? 另外,可以这样做,一次只能处理整个列而不是单个单元格吗?
注意我没有VBA的经验,所以完美的答案只是一个完整的VBAstring,我可以复制和粘贴。
谢谢。
正如在评论中指出的,你最好不要使用VBA,而是使用公式。
这个公式:
TEXT(A1,"dd-mm-yyy")
将以文本方式返回格式化的date。 您可以将公式拖放到单元格的整个范围内,然后Copy/Paste Special
Values
> Values
以便只将所需的值导入到Logten Pro中。
有三个使用公式的选项。
ROUNDDOWN
Excel将date时间存储为数字,并使用格式将其显示为date。 格式是date.time,其中整数是date,分数是时间。
作为例子01/01/2012 10:30:00 PM被存储为40909.9375
小数点后的所有数值都与小时和分钟相关
所以可以使用一个公式将数字四舍五入到整数。
=ROUNDDOWN(A1,0)
然后将该值设置为短date。 它将显示为01/01/2012
INT
如上所述,但使用不同的公式来摆脱分数(时间)
=INT(A1)
文本
或者只能使用此公式将date提取为文本
=TEXT(A1,"dd/mm/yyyy")
它将显示为01/01/2012