DateDif trong VBA xin Anh/Chị giúp đỡ!

Liên hệ QC

alias1313

Thành viên hoạt động
Tham gia
7/4/17
Bài viết
163
Được thích
13
Mã:
Sub TinhLai()
Dim wb As ThisWorkbook
Dim ws As Worksheet
Dim Range_date_vay As Range
Dim Range_date_tra As Range
Dim Range1 As Range
Dim Range2 As Range
Dim d As Date
Dim so_ngay As Integer
Dim WS_Count As Integer
'For Each ws In ThisWorkbook
WS_Count = ActiveWorkbook.Worksheets.Count
Debug.Print WS_Count
         For j = 1 To WS_Count
Set Range_date_vay = ActiveWorkbook.Worksheets(j).Range("C8:C18")
    
For Each Range1 In Range_date_vay
Range1.Offset(0, 8).Formula = "=datedif(range1, range1.Offset (0,5),""d"")"

    'Range1.Offset(0, 8).FormulaArray = "=datedif(range1, range1.Offset (0,5),""d"")"

        'ActiveWorkbook.Worksheets(j).Range1.Offset(0, 8) = WorksheetFunction.Datedif(Range1, Range1.Offset(0, 5), "d")
so_ngay = Range1.Offset(0, 8).Value2
Debug.Print so_ngay
    
Next Range1
Next j

End Sub

Đoạn code tính DateDif của em khi chạy bị lỗi ngay tại đó
Em dùng của sổ Immediate kiểm tra:
=======
?range1
7/29/2008
=========
?range1.Offset (0,5)
1/29/2009

Mong Anh/Chị giúp em tìm ra lỗi.
 
Sao quanh d của bạn nhiều " thế?
 
Sao quanh d của bạn nhiều " thế?

Thưa Thầy...
Em được mọi người chỉ là khi gán formula mà có dấu "" thì phài thêm một dấu "" nữa, em không có can bản VBA lên chỉ biết áp dụng, chứ chưa hiểu rõ lắm
nếu em bỏ dấu "" nó báo lỗi đỏ ngay
Mong Thầy giúp đỡ!
 
Đã đến mức dùng vba thì không nên dùng vba để chèn công thức vào bảng tính!!!
 
Bạn xem trong Excel có hàm datedif như bạn viết không?
trong VBA thì là vầy:
PHP:
Sub Dateif()
 Dim Ngay As Integer
 Ngay = DateDiff("m", Date, Date + 300)
 MsgBox Ngay
End Sub
 
Bạn xem trong Excel có hàm datedif như bạn viết không?
trong VBA thì là vầy:
PHP:
Sub Dateif()
 Dim Ngay As Integer
 Ngay = DateDiff("m", Date, Date + 300)
MsgBox Ngay
End Sub
DateDiff trong VBA bạn phải hiểu thật rõ, nếu không hiểu rõ thì sẽ sai sót. Trước khi sử dụng bạn nên tìm hiểu kỹ tại GPE hoặc Microsoft
https://msdn.microsoft.com/en-us/library/b5xbyt6f(v=vs.90).aspx
 
Bạn xem trong Excel có hàm datedif như bạn viết không?
trong VBA thì là vầy:
PHP:
Sub Dateif()
 Dim Ngay As Integer
 Ngay = DateDiff("m", Date, Date + 300)
 MsgBox Ngay
End Sub

@Hoang2013 : Cảm ơn Anh rất nhiều!
- DateDif là 1 hàm đúng trong excel, em đã thử và ra kết quả đúng, sau đó mới cố gắng đưa vào VBA
- Hàm DateDiff anh chỉ em quá chuẩn, em đã thử và chạy tốt..:).
Thân...!!!
 
Web KT
Back
Top Bottom