Làm sao không cho bấm chọn vào sheet3

Liên hệ QC

thanhthanh_23

Thành viên mới
Tham gia
26/8/10
Bài viết
19
Được thích
2
Chào các anh chị!
Các anh chị cho em hỏi, em có sheet1 và sheet3.Người dùng thao tác hoàn toàn trên Sheet1. Sheet3 là những thông tin không thể cho người dùng biết. Do em cần lấy dữ liệu copy sang sheet1bằng VBA nên em không thể ẩn sheet3. Nhưng em không muốn cho người dùm mở sheet3. Em phải làm như thế nào để khi người dùng bấm vào sheet3 thì vba sẽ tự động hiện ra yêu cầu nhập password, nếu nhập đúng thì cho hiện ra? Em cám ơn rất nhiều.
 
Chào các anh chị!
Các anh chị cho em hỏi, em có sheet1 và sheet3.Người dùng thao tác hoàn toàn trên Sheet1. Sheet3 là những thông tin không thể cho người dùng biết. Do em cần lấy dữ liệu copy sang sheet1bằng VBA nên em không thể ẩn sheet3. Nhưng em không muốn cho người dùm mở sheet3. Em phải làm như thế nào để khi người dùng bấm vào sheet3 thì vba sẽ tự động hiện ra yêu cầu nhập password, nếu nhập đúng thì cho hiện ra? Em cám ơn rất nhiều.
Code VBA thì liên quan gì đến việc sheet3 không thể ẩn bạn?
Mình thấy sheet đó ẩn ở chế độ "siêu ẩn" vẫn chạy code bình thường mà
 
Upvote 0
Upvote 0
Vì em copy sheet3 qua sheet 1 bằng vba nên nếu ẩn sheet3, thì báo lỗi không có sheet3 để copy
Thử tham khảo cách này xem sao ? Mật khẩu: GPE.
Còn copy khi sheet ẩn báo lỗi nguyên nhân có thể là bạn copy trực tiếp từ range. Thay vào đó nếu bạn gọi các giá trị bằng các biến thì kể cả là very hide vẫn có thể copy như bình thường nhé.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
đấy là tùy người viết code bác à kiểu như Record thì có chạy bằng mắt KK.
Chỉ cần chế biến chút xíu xíu là chạy được thôi có gì đâu. Ví dụ: thêm with sheet... End with hoặc chỉ định sheet là nó chạy tuốt mà
Vì em copy sheet3 qua sheet 1 bằng vba nên nếu ẩn sheet3, thì báo lỗi không có sheet3 để copy
Bạn gõ code như thế này thử xem
Mã:
Sub Copy_data()
    Sheets("sheet3").Range("B2:D50").copy Sheets("sheet1").Range("A2")
End Sub
Sheet3 ẩn hay không ẩn không thành vần đề
 
Upvote 0
Upvote 0
Thử tham khảo cách này xem sao ? Mật khẩu: GPE.
Còn copy khi sheet ẩn báo lỗi nguyên nhân có thể là bạn copy trực tiếp từ range. Thay vào đó nếu bạn gọi các giá trị bằng các biến thì kể cả là very hide vẫn có thể copy như bình thường nhé.
Cách này của anh có thể chặn người dùng sửa nội dung trong sheet 2 nhưng họ vẫn có thể thấy được nội dung trong sheet2. Vậy anh cho em hỏi có cách nào để không nhảy qua sheet 2 hay không?
 
Upvote 0
Cách này của anh có thể chặn người dùng sửa nội dung trong sheet 2 nhưng họ vẫn có thể thấy được nội dung trong sheet2. Vậy anh cho em hỏi có cách nào để không nhảy qua sheet 2 hay không?
Đưa cái file lên đi bạn, nói tới nói lui chẳng giải quyết được vấn đề
 
Upvote 0

File đính kèm

Upvote 0
Ý em là khi bấm vào sheet2 , thì userform vẫn xuất hiện trên sheet1 chứ không phải xuất hiện trên sheet2
Giải pháp của người ta khác, ý của bạn khác. Bạn đưa cái file của bạn lên chứ đưa file của người khác rồi bạn có chuyển về file của bạn được không?
Nếu dữ liệu của bạn không thể bật mí thì thay bằng dữ liệu giả định rồi đưa lên.
Nếu bạn biết xử lý vấn đề thì gợi ý bài số 6 đó là bạn có thể làm được rồi
 
Upvote 0
Ý em là khi bấm vào sheet2 , thì userform vẫn xuất hiện trên sheet1
chứ không phải xuất hiện trên sheet2
Có lẽ như vậy?
Mã:
Private Sub Worksheet_Activate()
Sheets("Sheet1").Activate
UserForm1.Show
If UserForm1.TextBox1 = "GPE" Then
        Sheets("Sheet2").Activate
Else
        UserForm1.TextBox1 = ""
        MsgBox ("Incorrect PW")
End If
End Sub
 
Upvote 0
Có lẽ như vậy?
Mã:
Private Sub Worksheet_Activate()
Sheets("Sheet1").Activate
UserForm1.Show
If UserForm1.TextBox1 = "GPE" Then
        Sheets("Sheet2").Activate       '   ---->   Active sheet đồng nghĩa với việc private sub lại chạy lại thêm 1 lần nữa
Else
        UserForm1.TextBox1 = ""
        MsgBox ("Incorrect PW")
End If
End Sub
Với code này của bạn thì ... Xin chúc mừng, bạn chẳng bao giờ sờ nổi vào cái sheet2. không tin cứ thử thì biết :)
 
Upvote 0
Ai vào được sheet nào chưa biết chứ tôi bảo đảm cơ lít lạng quạng thì sẽ vào được trang bán đồ trẻ em:
 

File đính kèm

  • Untitled.png
    Untitled.png
    20.7 KB · Đọc: 18
Upvote 0
Với code này của bạn thì ... Xin chúc mừng, bạn chẳng bao giờ sờ nổi vào cái sheet2. không tin cứ thử thì biết :)
Quên tắt sự kiện:
Mã:
Private Sub Worksheet_Activate()
Sheets("Sheet1").Activate
UserForm1.Show
If UserForm1.TextBox1 = "GPE" Then
         Application.EnableEvents = False
        Sheets("Sheet2").Activate
        Application.EnableEvents = True
Else
        UserForm1.TextBox1 = ""
        MsgBox ("Incorrect PW")
End If
End Sub
 
Upvote 0
Với code này của bạn thì ... Xin chúc mừng, bạn chẳng bao giờ sờ nổi vào cái sheet2. không tin cứ thử thì biết :)
vấn đề này em không biết. Em không phải
Ai vào được sheet nào chưa biết chứ tôi bảo đảm cơ lít lạng quạng thì sẽ vào được trang bán đồ trẻ em:
vấn đề này em không biết. Em không phải lợi dụng để quảng cáo. em đang nghiên cứu VBA thật sự. Em không biết tại sao như vậy
 
Upvote 0
Quên tắt sự kiện:
Mã:
Private Sub Worksheet_Activate()
Sheets("Sheet1").Activate
UserForm1.Show
If UserForm1.TextBox1 = "GPE" Then
         Application.EnableEvents = False
        Sheets("Sheet2").Activate
        Application.EnableEvents = True
Else
        UserForm1.TextBox1 = ""
        MsgBox ("Incorrect PW")
End If
End Sub
Dù nhập đúng password thì vẫn không thể qua sheet2
Bài đã được tự động gộp:

Quên tắt sự kiện:
Mã:
Private Sub Worksheet_Activate()
Sheets("Sheet1").Activate
UserForm1.Show
If UserForm1.TextBox1 = "GPE" Then
         Application.EnableEvents = False
        Sheets("Sheet2").Activate
        Application.EnableEvents = True
Else
        UserForm1.TextBox1 = ""
        MsgBox ("Incorrect PW")
End If
End Sub
Cám ơn anh hướng dẫn, em đã xử lý được rồi. Dựa trên hướng dẫn của anh, em đã làm dược thành công. Em cám ơn anh rất nhiều!
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom