Cho em hỏi tại sao em viết code dòng cuối theo cách 1 thì được mà viết theo cách 2 khi thêm Workbooks("Book4") vào công thức dòng cuối lại báo lỗi "Subscript out of range" vậy ạ?
+Cách 1
Sub DongCuoi()
Dim DongCuoi As Long
DongCuoi = Sheets("Data").Range("A" & Rows.Count).End(xlUp).Row
Range("E1").Value = DongCuoi
End Sub
+ Cách 2
Sub DongCuoi()
Dim DongCuoi As Long
DongCuoi = Workbooks("Book4").Sheets("Data").Range("A" & Rows.Count).End(xlUp).Row
Range("E1").Value = DongCuoi
End Sub
 
            
            Chào bạn bạn sử dụng cú pháp sau:
wb.Sheets("tenbook").Range("A" & Rows.Count).End(xlUp).Row 
            
            Còn nếu có nhiều Wb mà muốn chỉ rõ là wb nào thì viết code sao ạ?
 
            
            Em áp dụng như code bên trên thầy đưa thì vẫn báo lỗi ạ
 
            
            Chào bạn với wb ở đây là workbook hoặc là thisworkbook nhé.
 
            
            Vậy em muốn chỉ rõ là wb nào thì sao ạ? Ví dụ em muốn viết Workbooks("Book4") thì báo lỗi "Subscript out of range" . Vậy em phải viết như thế nào ạ?
 
            
            Chào bạn bạn thử như sau:
Workbooks("Book4.xlsx").Sheets("Data").Range("A" & Rows.Count).End(xlUp).Row
 
            
            Hoặc bạn có thể sử dụng function như sau:
Option Explicit
Sub timdongcuoi()
Dim dc As Long
dc = TimdongcuoiWB("Book1.xlsx", "Sheet1", "A")
MsgBox dc
End Sub
Function TimdongcuoiWB(wb As String, ws As String, cot As String) As Long
TimdongcuoiWB = Workbooks(wb).Sheets(ws).Range(cot & Rows.Count).End(xlUp).Row
End Function
 
            
            Cảm ơn Thầy ạ
 
            
            Chúc bạn học tốt cùng gitiho