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