2009-07-08 149 views
5

我有一個單元格包含日期前。 「05/11/09」 它目前顯示爲「11-MAY-09」。如何複製粘貼或使用VBA獲取字符串「11-MAY-09」到旁邊的單元格中(NOT「05/11/09」)?如何在Excel中獲取顯示值而不是實際值?

除了單獨拼湊日期片段之外,我無法想出它。

回答

3

使用格式化功能。

Format("5/11/2009", "DD-MMM-YY") 

這將返回:

11-May-09 

如果情況事項:

UCase(Format("5/11/2009", "DD-MMM-YY")) 

回報:

11-MAY-09 
4

我相信你可以使用TEXT函數來根據你的喜好設置一個日期值的格式。

「dd-mmm-yy」的格式字符串會將「05/11/09」格式設置爲「11-MAY-09」。

1

試試這個:

Sub FormattedText() 
    Dim r As Range 

    On Error Resume Next 
    Set r = Application.InputBox(prompt:="Select cell", Type:=8) 
    If r.Count <> 1 Or r Is Nothing Then 
     Exit Sub 
    End If 
    On Error GoTo 0 

    ActiveCell = "'" & r.Text 

End Sub 

它將把選定的單元格(提示)的文本在活動單元格。

0

您應該能夠右鍵單擊單元格並將格式設置爲常規。這將允許你放入一些東西,而不會自動格式化爲其他東西。

爲了避免複製和粘貼,您還需要先輸入想要的日期,然後再格式化,然後複製。

0

在VBA中,你可以這樣做:

Range("B2") = Range("A2") 
Range("B2").NumberFormat = "dd-mmm-yyyy hh:mm:ss" 'Date as 10-Jun-2005 

如果您需要循環它,然後:

Range("B" & i) = Range("A"& i) 
Range("B" & i).NumberFormat = "dd-mmm-yyyy hh:mm:ss" 'Date as 10-Jun-2005 

Another way to do it.

6
Range("B1").Value = Range("A1").Text 

使用單元格的.text而不是.value修飾符將複製文本格式而不是原始日期。

卡盤

0

低科技但很簡單的方法 - 粘貼到Word中,然後複製回Excel!可能需要花費一些時間才能處理大文件,但是...但是,一次性使用的效果非常好!

相關問題