我想將一列的日期值轉換為數字,結果應該在同一列中,
我嘗試將單元格轉換為文本格式,然后使用以下代碼洗掉“/”字符:
Sub removechar()
Dim input1 As String
Dim result As String
input1 = range("H1:H")
Range("H1:H").NumberFormat = "@"
result = Replace(input1, "/", "")
Range("H1:H") = result
End Sub
該代碼適用于一個單元格,但不適用于該列的所有單元格。所需結果附在所需結果下方的影像中

uj5u.com熱心網友回復:
對于下面的討論,我假設這些值是“真實日期”,其格式將在您顯示時顯示。
此外,目標列的格式為 General 或 Number,沒有小數位或分隔符。
如果不是這種情況,您可以手動添加。
你可以用一個簡單的公式來做到這一點:
=--TEXT(H1,"ddmmyyy")
雙一元將文本字串轉換為數字
如果您必須使用 VBA,請調整以下代碼以符合您的實際源和目標要求:
Option Explicit
Sub dateToNumber()
Dim rSrc As Range
Dim vSrc As Variant
Dim I As Long
With ThisWorkbook.Worksheets("sheet13")
Set rSrc = Range(.Cells(1, "H"), .Cells(.Rows.Count, "H").End(xlUp))
End With
'Faster to work in arrays than back and forth to the worksheet
vSrc = rSrc
For I = 1 To UBound(vSrc, 1)
vSrc(I, 1) = Val(Format(vSrc(I, 1), "ddmmyyyy"))
Next I
'if you want to overwrite, remove Offset property from below line
With rSrc.Offset(columnoffset:=1)
.EntireColumn.Clear
.NumberFormat = "General"
.Value = vSrc
.EntireColumn.AutoFit
End With
End Sub

轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/342825.html
