1. Phải là Range("B2:C10") hoặc như thanhsangnguyen: [B2:C10]
2. Nên là Sheets("Sheet1").Range("B2:C10") hoặc Sheets("Sheet1").[B2:C10] để xác định đúng sheet nguồn. Nếu không đang đứng sheet2 mà chạy code nó sẽ lấy B2:C10 của sheet2
Private Sub CommandButton1_Click()
[COLOR=#ff0000]Unprotect[/COLOR]
With Sheets("Form")
If [A1] < Sheets("Data").[A1000].End(xlUp) Then
[A1] = [A1] + 1
Else: [A1] = 1
End If
[E8] = WorksheetFunction.VLookup([A1], Sheets("Data").Range("A7:B20"), 2, False)
End With
Protect
End Sub[CODE]
mình có dòng code này đang tìm hiểu, vì không biết nên cũng chưa biết hỏi từ đâu?
Code này là tự bạn viết??? Hình như nó báo đỏ chỗ Unprotect, bạn không hiểu vì sao??? Và thằng With sheets("Form")....End With không có tác dụng gì trong đoạn code trên thì phải???
Private Sub CommandButton1_Click()
[COLOR=#ff0000]Unprotect[/COLOR]
With Sheets("Form")
If [A1] < Sheets("Data").[A1000].End(xlUp) Then
[A1] = [A1] + 1
Else: [A1] = 1
End If
[E8] = WorksheetFunction.VLookup([A1], Sheets("Data").Range("A7:B20"), 2, False)
End With
Protect
End Sub[CODE]
mình có dòng code này đang tìm hiểu, vì không biết nên cũng chưa biết hỏi từ đâu?[/QUOTE]
*Unprotect ở trên có thể là 1 thủ tục ( chương trình con ) nào đó --> có thể là sub phá khoá unprotect worksheet chẳng hạn !
Code này là tự bạn viết??? Hình như nó báo đỏ chỗ Unprotect, bạn không hiểu vì sao??? Và thằng With sheets("Form")....End With không có tác dụng gì trong đoạn code trên thì phải???
Private Sub CommandButton1_Click()
[COLOR=#ff0000]Unprotect[/COLOR]
With Sheets("Form")
If [A1] < Sheets("Data").[A1000].End(xlUp) Then
[A1] = [A1] + 1
Else: [A1] = 1
End If
[E8] = WorksheetFunction.VLookup([A1], Sheets("Data").Range("A7:B20"), 2, False)
End With
Protect
End Sub[CODE]
mình có dòng code này đang tìm hiểu, vì không biết nên cũng chưa biết hỏi từ đâu?[/QUOTE]
Nó [B]unprotect[/B] vì code đã [B]protect[/B], tức là vì sheet đã bị khóa ([B]protect)[/B] nên trước khi muốn "chọt chọt" cái gì vào sheet đó thì phải mở khóa ([B]unprotect)[/B], "chọt chọt" xong rồi, trước khi thoát Sub lại khóa vào_ cái đoạn [B]protect [/B]ở dòng kế cuối í
Thân
Nó unprotect vì code đã protect, tức là vì sheet đã bị khóa (protect) nên trước khi muốn "chọt chọt" cái gì vào sheet đó thì phải mở khóa (unprotect), "chọt chọt" xong rồi, trước khi thoát Sub lại khóa vào_ cái đoạn protect ở dòng kế cuối í
Thân
Bác Cò cho bé Còi xin 1 cái file ví dụ về thằng Unprotect đứng một mình như thế này được không ạ, bé Còi chưa gặp trường hợp nào như thế này ạ, chạy thử code thấy nó báo đỏ đúng chỗ Unprotect đó (Sub or Function not defined) cháu mới chỉ biết Unprotect Method qua cú pháp expression.Unprotect(Password) ạ, hix hix
Bác Cò cho bé Còi xin 1 cái file ví dụ về thằng Unprotect đứng một mình như thế này được không ạ, bé Còi chưa gặp trường hợp nào như thế này ạ, chạy thử code thấy nó báo đỏ đúng chỗ Unprotect đó (Sub or Function not defined) cháu mới chỉ biết Unprotect Method qua cú pháp expression.Unprotect(Password) ạ, hix hix
Thì Bé Còi cứ Protect sheet đi, pass là "hổng quánh cái gì vào đó hết" thử xem sao
Code báo lỗi có thể bạn í copy thiếu, phải khai báo tên sheet hoặc sheet hiện hành (ActiveSheet)
Thí dụ thế này
Thì Bé Còi cứ Protect sheet đi, pass là "hổng quánh cái gì vào đó hết" thử xem sao
Code báo lỗi có thể bạn í copy thiếu, phải khai báo tên sheet hoặc sheet hiện hành (ActiveSheet)
Thí dụ thế này
Hihi, khả năng là code không chạy & cũng có thể có khả năng thứ hai là mất một thằng With & End With bên ngoài nữa hông chừng
Đại khái là giải thích cái thằng UnProtect thôi
Còn chai "dzụ", hôm nào làm cái lẩu ở nhà Thầy đi Thầy
Híc
Thì Bé Còi cứ Protect sheet đi, pass là "hổng quánh cái gì vào đó hết" thử xem sao
Code báo lỗi có thể bạn í copy thiếu, phải khai báo tên sheet hoặc sheet hiện hành (ActiveSheet)
Thí dụ thế này
Tại bé Còi thấy ông Unprotect đứng một mình mà không có cái Expression ở đằng trước nên mới thắc mắc hình như bạn ấy tự viết code và bị báo đỏ chỗ đó mà không hiểu vì sao? Chứ thêm cái Activesheet trước Unprotect hay Protect thì bé Còi khỏi bàn vì đúng cú pháp rồi... hix hix hix!
@ Thầy Ptm0412 : Trò cũng nghĩ là thiếu thiếu cái gì đó nên mới hỏi lại vậy, chắc bạn ý copy thiếu, hix. Thấy nguyên cả cụm With sheets("Form")....End with cũng dư thừa, chắc lại copy thiếu cả đống dấu chấm nữa, khổ thân With....End with thật!
Code bên trong with sheets("Form")....End with đừng quan tâm, vì nó liên quan đến 1 file cụ thể nào đó có chứa sheet tên "form". Mà đoạn code bên trong đó cũng hỏng chạy, hoặc chạy bậy, vì toàn uýnh vô activesheet, hỏng liên quan gì đến sheet "form", vì hỏng có mấy dấu chấm chấm.
Code bên trong with sheets("Form")....End with đừng quan tâm, vì nó liên quan đến 1 file cụ thể nào đó có chứa sheet tên "form". Mà đoạn code bên trong đó cũng hỏng chạy, hoặc chạy bậy, vì toàn uýnh vô activesheet, hỏng liên quan gì đến sheet "form", vì hỏng có mấy dấu chấm chấm.
Vâng! Tại trò đọc code hỏng hiểu chỗ đó để làm gì nên mới hỏi lại mà, trò tạo thử file theo chỉ dẫn code thì báo đỏ lòe, hix. Bạn ấy bỏ chúng ta mất tiêu rồi, hehe, hy vọng ngày mai được ngó cái file thật có cái đoạn code kia, biết đâu lại thấy cái gì đó hay hay hì hì hì!
Tại bé Còi thấy ông Unprotect đứng một mình mà không có cái Expression ở đằng trước nên mới thắc mắc hình như bạn ấy tự viết code và bị báo đỏ chỗ đó mà không hiểu vì sao? Chứ thêm cái Activesheet trước Unprotect hay Protect thì bé Còi khỏi bàn vì đúng cú pháp rồi... hix hix hix!
Bác Cò cho bé Còi xin 1 cái file ví dụ về thằng Unprotect đứng một mình như thế này được không ạ, bé Còi chưa gặp trường hợp nào như thế này ạ, chạy thử code thấy nó báo đỏ đúng chỗ Unprotect đó (Sub or Function not defined) cháu mới chỉ biết
Vâng! Tại trò đọc code hỏng hiểu chỗ đó để làm gì nên mới hỏi lại mà, trò tạo thử file theo chỉ dẫn code thì báo đỏ lòe, hix. Bạn ấy bỏ chúng ta mất tiêu rồi, hehe, hy vọng ngày mai được ngó cái file thật có cái đoạn code kia, biết đâu lại thấy cái gì đó hay hay hì hì hì!
Private Sub CommandButton1_Click()
Unprotect
With Sheets("Form")
If [A1] < Sheets("Data").[A1000].End(xlUp) Then
[A1] = [A1] + 1
Else: [A1] = 1
End If
[E8] = WorksheetFunction.VLookup([A1], Sheets("Data").Range("A7:B20"), 2, False)
End With
Protect
End Sub