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