【问题标题】:Excel date formatationExcel日期格式
【发布时间】:2015-08-22 03:50:05
【问题描述】:

我正在对一个已经完成的 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

【问题讨论】:

  • 关于日期格式看this。你的意思是细胞上的位置也改变了

标签: vba excel date


【解决方案1】:

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

rng1.Offset(0, 2).Clear

该行清除所有内容,包括基础格式。要保留格式,只需更改为

rng1.Offset(0, 2).ClearContents

【讨论】:

  • 非常感谢,非常基础,但如果没有你的帮助,我会被卡住,非常感谢
  • 很高兴为您提供帮助。有时另一双眼睛很有用。幸运的是,您在第一篇文章中提供了所有必要的信息(这并不总是发生)。
【解决方案2】:

试试这个

更改以下行代码

  rng1.Offset(0, 2).Clear

到

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

【讨论】:

  • 谢谢你的信息和罗恩对我的帮助很大,没有你们我就无法到达那里。
猜你喜欢
  • 2013-03-17
  • 2013-09-16
  • 1970-01-01
  • 2013-11-17
  • 2015-08-31
  • 2011-11-18
  • 2018-02-11
  • 2013-02-08
相关资源
最近更新 更多