繁体   English   中英

将值从一个工作簿复制并粘贴到另一个工作簿后,在我双击单元格之前,公式不适用于特定范围

[英]After copy and paste values from one workbook to another, a formula doesn't work with a specific range until I doubleClick cells

使用 VBA 打开一个工作簿,复制数据并将其粘贴到另一个工作簿。 在第二个工作簿中,我为特定范围的自定义值格式(dd/mm/yyyy hh:mm)设置了一个公式,但该公式不起作用。 值作为具有自定义格式的文本保存在单元格的左侧,直到我双击为止。 两个工作簿(工作表)中的格式相同,我想保留它。

我一直在尝试使用以下方法修复它:

range.TextToColumns Destination:=range DataType:=xlFixedWidth FieldInfo:=Array(Array(0,9),Array(1,1), Array(16,9))

它在中途工作。 日期适合单元格的右侧,但我的自定义日期比自定义日期少 17 天???:D 当我省略 Array(0,9) 它返回额外的日期 02/01/1990 并且我的原始日期被移动到下一栏。

有没有人有任何解决方案? .TextToColumns 究竟是如何工作的? 如何正确声明 FieldInfo 的 arg 以接收原始日期并将其放置在单元格的右侧?

下面是如何将文本格式的日期(单元格 B1)转换为实际日期的示例。 请注意文本格式是如何左对齐的,而日期格式是如何右对齐的。

请记住,日期是一个数字-> integer 部分是日期,小数部分是时间。

在此处输入图像描述

Public Sub sTestDate()

  Dim v As Variant

  v = Sheet1.Range("B1").Value
  Sheet1.Range("B2").Value = CDbl(CDate(v))
  Sheet1.Range("B3").Value = CDbl(CDate(v))
  Sheet1.Range("B3").NumberFormat = "dd/mm/yyyy hh:mm"

End Sub

暂无
暂无

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

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