Protect Sheet là được. Còn VBA thì mình chưa thử.Yêu cầu mình nêu rõ trong File đính kèm mong các thành viên giúp đỡ!
Cảm ơn các thành viên trước!
Còn đây là bằng VBA (chưa hoàn thiện đâu) bạn nghiên cứu thêm nhé!Cảm ơn bạn! tôi cũng dùng Protec sheet nhưng lại tích vào Edit protec nên không được!
Tôi đang thử tìm cách làm bằng VBA. Thực ra là để học thêm về VBA thôi.
Không biết có cách nào mà chọn tự động tất cả các texbox luôn không bạn nhỉ?Còn đây là bằng VBA (chưa hoàn thiện đâu) bạn nghiên cứu thêm nhé!
nếu lock Textbox mà ko khóa sheet thì bạn có thể dùng Label (ActiveX Controls) phủ lên Textbox đó.Yêu cầu mình nêu rõ trong File đính kèm mong các thành viên giúp đỡ!
Cảm ơn các thành viên trước!
Mình muốn khóa tất cả các texbox có trên sheet 1 cách tự động thì phải sửa code thế nào vậy bạn?nếu lock Textbox mà ko khóa sheet thì bạn có thể dùng Label (ActiveX Controls) phủ lên Textbox đó.
Bạn thử cái này xem!Không biết có cách nào mà chọn tự động tất cả các texbox luôn không bạn nhỉ?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Unprotect "123"
With ActiveSheet.TextBoxes
ActiveSheet.TextBoxes.Locked = True
ActiveSheet.TextBoxes.LockedText = True
End With
Protect "123", True, False, False, False, False, False, False, False, False, False, False, False, False, False, False
End Sub
chuot tải file về kiểm tra xem nhé !Mình muốn khóa tất cả các texbox có trên sheet 1 cách tự động thì phải sửa code thế nào vậy bạn?
Đúng ý mình rồi! Cảm ơn bạn rất nhiều!Bạn thử cái này xem!
Hoặc là thế này, muốn thêm Textbox thì bấm "mở khóa", sau đó khóa lạiMã:Private Sub Worksheet_SelectionChange(ByVal Target As Range) Unprotect "123" With ActiveSheet.TextBoxes ActiveSheet.TextBoxes.Locked = True ActiveSheet.TextBoxes.LockedText = True End With Protect "123", True, False, False, False, False, False, False, False, False, False, False, False, False, False, False End Sub
Cảm ơn Phucbugis nhiều, nhìn chuyên nghiệp quá!chuot tải file về kiểm tra xem nhé !
click vào Button 1 (show InputBox) --> có 2 lựa chọn:
View attachment 120776
[GPECODE=vb]
Sub GPE_LockTB()
Dim Hoi
Dim ws As Worksheet
Dim lblQuantity As Integer
Dim MyLBL As Object
Hoi = Application.InputBox(Evaluate(ThisWorkbook.Names("InputBox1").Value) & vbNewLine & _
Evaluate(ThisWorkbook.Names("InputBox2").Value)) 'InputBox1, 2 la` Name
If Hoi = False Then Exit Sub 'khi dung` Cancel
On Error Resume Next 'The item with specified name wasn't found 'neu ko thay' Text Box tuo*ng ung'
Set ws = ThisWorkbook.Worksheets("Sheet1")
lblQuantity = 0
For Each MyLBL In ws.OLEObjects
If TypeName(MyLBL.Object) = "Label" Then
lblQuantity = lblQuantity + 1
If UCase(Hoi) = "L" Then
With ws.Shapes("Text Box " & lblQuantity)
MyLBL.Top = .Top
MyLBL.Left = .Left
MyLBL.Height = .Height
MyLBL.Width = .Width
End With
ElseIf UCase(Hoi) = "U" Then
MyLBL.Top = Rows(2).Top
MyLBL.Left = Range("R:R").Left
End If
End If
Next MyLBL
MsgBox ("GPE_LockTB xong"), , "@_GPE_@"
End Sub
[/GPECODE]
hic, post nhầm bài ---> nhờ Smod xóa giùm (do đang dọn dẹp các file qua MediaFire để có lại Quata )nếu lock Textbox mà ko khóa sheet thì bạn có thể dùng Label (ActiveX Controls) phủ lên Textbox đó.