[英]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.