Excel日期格式

时间:2015-06-07 17:12:37

标签: excel vba excel-vba date

我正在做一个已经完成的excel程序的工作,但我在这个领域非常生疏,或者可能从未在这部分做过什么,我在VBA中很新,所以请不要判断我是否链接在描述中是一个简单的错误或错误。

所以我有问题,如果我把确认选项,例如:在一个单元格中按下您所拥有的产品中的“1”,并在另一个单元格中写入“S”如果您已经拥有该产品并且它给您一个今天的日期在另一个牢房。

问题是,当我删除我插入的信息并重新输入时,日期变形本身变小,单元格上的位置也会发生变化。

我要把这些链接放,因为就像我说我生锈了,我找不到这个日期代码的来源。

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

2 个答案:

答案 0 :(得分:3)

如果我理解你的问题,问题是这一行:

rng1.Offset(0, 2).Clear

该行清除所有内容,包括底层格式。为了保持格式,只需更改为

rng1.Offset(0, 2).ClearContents

答案 1 :(得分:2)

试试这个

更改以下行代码

  rng1.Offset(0, 2).Clear

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