繁体   English   中英

Excel / VBA:当单元格更改时,请更改另一个具有不同日期格式的单元格

[英]Excel/VBA: When cell changes, change another cell with different date format

我想在另一个单元格更改时更改一个Excel单元格。 我的数据来自TFS,返回的日期是长日期( 2018/02/02 12:07:33 AM ),但其旁边的列需要更改为短日期( 2018/02/02 )随时添加新添加的行。 使用以下命令可以正常工作,但是一旦添加新行,则短日期为空:

=DATE(YEAR(E3);MONTH(E3);DAY(E3))

如果没有VBA,是否可以这样做,如果没有,我如何使用VBA实现呢?

|A1                      |A2               |
|Long Date               |Short Date       |
|2018/02/02  12:07:33 AM |2018/02/02       |

TFS的列表每周都会更改,长日期也可能每天或每周都会更改。 首先,长日期将为空,当用户按下特定按钮时,来自TFS的查询将更新长日期单元格。

如果我的问题正确,解决方案似乎非常简单。

使用单元格A2中的公式:“ = A1”

右键单击单元格A2,然后选择“设置单元格格式...”,在“类别”中选择“自定义”选项,然后在“类型”中键入“ yyyy / mm / dd”

应该是这样。 由于单元格是通过公式链接的,因此只要“计算选项”设置为“自动”,它们就应该自动更新

您可以使用

=DATE(YEAR(A1),MONTH(A1),DAY(A1))

格式化为yyyy/mm/dd

Excel \\ VBA:所以我所做的是:

'Add smalldate to all items in the items page
    Dim LastRow As Integer
    Dim RowNumber As String
    Dim ColumnNumber As String: ColumnNumber = "F"
    Dim FixedVariable As String: FixedVariable = "F3:"

    LastRow = Cells(Rows.Count, 1).End(xlUp).Row
    RowNumber = ColumnNumber & LastRow

    Dim RangeValue As String: RangeValue = FixedVariable + RowNumber
    Range(RangeValue).Formula = "=DATE(YEAR(E3),MONTH(E3),DAY(E3))"

像魅力一样工作,我需要使用更好的命名约定!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM