2015-06-07 210 views
2

我正在做一些已經完成的excel程序的工作,但在這方面我很生疏,或者從未做過這方面的工作,我在VBA中很新,所以請不要評判我是否是一個簡單的錯誤或錯誤的鏈接是在說明中。Excel日期格式

所以,我有問題,如果我把確認選項,例如:在一個單元格中按「1」在你有產品,在另一個單元格寫「S」,如果你已經有產品,它會讓你今天在另一個單元格中的日期。

問題是,當我刪除我插入的信息,並重新輸入日期deformats本身變得更小,單元格上的位置也發生變化。

我打算把鏈接,因爲,就像我說我生鏽,我無法找到這個日期的代碼來自哪裏。

http://www.docdroid.net/12dh4/master-atual-20155.xls.html - >這是一個Excel的

http://www.docdroid.net/12dhj/errorphotos.pdf.html - >照片顯示錯誤

這是紙張上的其他的幾乎是相同的一個代碼,如果你們看到的照片,這將有助於瞭解錯誤本身。

所以主要問題是,我無法格式化日期選項,它總是改變字體和自定義選擇日期。我已經改變了單元格的選項,如果你們可以通過在那裏展示或引導我來幫助你。


Private Sub Worksheet_Change(ByVal Target As Range) 
Dim rng1 As Range 
Set rng1 = Intersect(Range("v3:v500"), Target) 
If rng1 Is Nothing Then Exit Sub 

Application.EnableEvents = False 

On Error Resume Next 


    If rng1.Value <> "" Then 
     rng1.Offset(0, 2).Value = Now() 
    Else 
     rng1.Offset(0, 2).Clear 
    End If 

Application.EnableEvents = True 

End Sub 
+0

關於日期格式看看[this](http://bit.ly/1HfLuuJ)。你是什​​麼意思,在細胞上的位置變化 –

回答

3

如果我理解你的問題,問題是這一行:

rng1.Offset(0, 2).Clear 

那行會清除所有內容,包括底層格式。有這麼格式被保留下來,只是改變

rng1.Offset(0, 2).ClearContents 
+0

謝謝sooo muchhh這是如此基本,但沒有你的幫助,我會卡住非常感謝 – Luis

+0

很高興幫助。有時候另一雙眼睛很有用。幸運的是,您在第一篇文章中提供了所有必要的信息(並非總是如此)。 –

2

試試這個

變化下面的代碼行

rng1.Offset(0, 2).Clear 

rng1.Offset(0, 2).Value = "" 
+0

謝謝你的信息和羅恩的幫助我很多,沒有你們我不會到那裏。 – Luis

+0

@路易斯沒有問題,這就是我們在這裏:-) – 0m3r