簡體   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