首页 > 解决方案 > 完全按照可见的方式在 Excel 中粘贴值

问题描述

我有一个简单的请求,将数据粘贴到 Excel 中完全可见

我有一个mm/yyyy格式的日期列表,但 Excel 不断添加mm/dd/yyyy这让我无法分析。它的格式设置为简单显示mm/yyyy,但实际单元格值不断设置为mm/01/yyyy.

我怎样才能简单地将值复制/粘贴为mm/yyyy.

在此处输入图像描述

我试过Range("A1").Value = Range("A1").Value了,但当然只是保留相同的信息。

是的,在我的情况下,因为它是日期,我可以做一个 kludgy 函数,它采用左边的三个字符,并与最右边的四个字符结合。但是,这实际上只是获取返回的日期编号。我试穿G4并得到4171730。另外,我也想知道如何处理其他类型的单元格值(字符串、数字等)。

标签: excelvba

解决方案


保存值和格式,然后将单元格设置为文本并分配格式化值:

Sub test()
    Dim t As Variant
    t = Range("A1").Value2

    Dim x As String
    x = Range("A1").NumberFormat

    Range("A1").NumberFormat = "@"
    Range("A1").Value = Format(t, x)

End Sub

这也有效

Sub test()
    Dim t As String
    t = Range("A1").Text

    Range("A1").NumberFormat = "@"
    Range("A1").Value = t

End Sub

推荐阅读