Hỏi cách khóa Texbox trong File Excel

Liên hệ QC

chuot0106

Thành viên gắn bó
Tham gia
20/1/13
Bài viết
2,567
Được thích
1,670
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!
 

File đính kèm

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.
 
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.
Còn đây là bằng VBA (chưa hoàn thiện đâu) bạn nghiên cứu thêm nhé!
 

File đính kèm

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!
nếu lock Textbox mà ko khóa sheet thì bạn có thể dùng Label (ActiveX Controls) phủ lên Textbox đó.


'----
file đính kèm ----> #9
 
Lần chỉnh sửa cuố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ỉ?
Bạn thử cái này xem!
Mã:
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
Hoặc là thế này, muốn thêm Textbox thì bấm "mở khóa", sau đó khóa lại
 

File đính kèm

Lần chỉnh sửa cuối:
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?
chuot tải file về kiểm tra xem nhé !

click vào Button 1 (show InputBox) --> có 2 lựa chọn:
input.jpg
[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]

Link: https://www.mediafire.com/?i27inzfx3if09pc
 
Lần chỉnh sửa cuối:
Bạn thử cái này xem!
Mã:
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
Hoặc là thế này, muốn thêm Textbox thì bấm "mở khóa", sau đó khóa lại
Đúng ý mình rồi! Cảm ơn bạn rất nhiều!
 
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]
Cảm ơn Phucbugis nhiều, nhìn chuyên nghiệp quá!
 
Web KT

Bài viết mới nhất

Back
Top Bottom