我想將一列中的日期時間值轉換爲小時值。現在我嘗試了一個循環,但我得到的錯誤說類型不兼容。任何想法?VBA將日期時間轉換爲列中的小時數
Dim l As Range
For Each l In Hour.Range("A1", "A" & lngLastRow)
If l.Value <> "" Then l.Value = Hour(l.Value)
Next
我想將一列中的日期時間值轉換爲小時值。現在我嘗試了一個循環,但我得到的錯誤說類型不兼容。任何想法?VBA將日期時間轉換爲列中的小時數
Dim l As Range
For Each l In Hour.Range("A1", "A" & lngLastRow)
If l.Value <> "" Then l.Value = Hour(l.Value)
Next
出在世界上的所有可能的名字,你真的命名工作表小時還是我錯了?
如果是這種情況,只需重命名工作表,它會自動修復一切,因此您會很高興。對於任何變量或對象,千萬不要使用Minute
,Hour
,Second
,Integer
等名稱。
這是一個可能的解決方案,那麼:
Option Explicit
Public Sub Testing()
Dim l As Range
Dim lngLastrow As Long: lngLastrow = 6
For Each l In ActiveSheet.Range("A1", "A" & lngLastrow)
If l <> "" Then
l.Offset(0, 1) = Format(l, "HH")
End If
Next
End Sub
確保此更改名稱,而不是標籤:
在沒有看到數據,我的猜測是,你有字符串而不是單元格中的日期。 –
該coul實際上是問題,是否有可能在小時函數內使用CDate? – Vedad
但是它實際上與小時(A2)一起工作,當我做它manualy,我的意思是在VBA代碼之外,所以我想我有它在正確的格式。 – Vedad