Cần phân quyền sử dụng sheet (8 người xem)

  • Thread starter Thread starter hunglao
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

hunglao

Thành viên hoạt động
Tham gia
30/8/09
Bài viết
118
Được thích
17
Em có một vấn đề thế này cần các a/c giải quyết giùm a

em có 1 file EXEL có các sheet :1,2,3,4,5,6
và một số người dc sử dụng file đó : A,B,C,D,E....

em muốn khí A,B mở file lên thì sẽ thấy toàn bộ Sheet (1-->6)còn các người còn lại chỉ thấy được một số sheet do em quy định (1,2,3)

Vậy thì làm thế nào ạ

thank a/c
 
Em có một vấn đề thế này cần các a/c giải quyết giùm a

em có 1 file EXEL có các sheet :1,2,3,4,5,6
và một số người dc sử dụng file đó : A,B,C,D,E....

em muốn khí A,B mở file lên thì sẽ thấy toàn bộ Sheet (1-->6)còn các người còn lại chỉ thấy được một số sheet do em quy định (1,2,3)

Vậy thì làm thế nào ạ

thank a/c
Bạn tham khảo thử file đính kèm nhé.
 

File đính kèm

Mình có 2 vấn đề cần hỏi bro chút xíu
1. là mình Muốn Code này tự động chạy khi mở file mà không cần Enable Macro( tức là nhúng thẳng vào file luôn, hình như phải xài VBA phải không ạ)
2, mình muốn hiệu chỉnh code thì vào mục vào a, mình mình tìm trong cửa sổ Alt+F11 chưa thấy

thank bro nhiều a
 
Mình có 2 vấn đề cần hỏi bro chút xíu
1. là mình Muốn Code này tự động chạy khi mở file mà không cần Enable Macro( tức là nhúng thẳng vào file luôn, hình như phải xài VBA phải không ạ)
2, mình muốn hiệu chỉnh code thì vào mục vào a, mình mình tìm trong cửa sổ Alt+F11 chưa thấy

thank bro nhiều a
Câu 1: Nếu bạn Muốn Code này tự động chạy khi mở file mà không cần Enable Macro thì không thể nào được ngoại trừ bạn vào Tools\Macro, Security, chọn Low..., nhưng cách này rất nguy hiểm vì không ngăn chăn được những file chứa virus có hại.
Câu 2: Sau khi bạn bấm Alt+F11 bạn click vào cái Userform1 rồi click chuột phải, chọn View Code, muốn xem code ở Module thì double click vào đó xem thôi
 
1.cách đó mình biết nhưng mình muốn nhúng thẳng vào file luôn để tự động chạy khi mở file
giống như là viết bằng VBA phải không ạ ( sory vì mình mới học E )

2. Khi hiện ra form đăng nhập thì nếu em không chọn tên trong danh sách mà gõ lụi 1 tên nào thì nó sẽ hiện ra lỗi: sau đó nếu nhu chọn DEBUG thì sẽ hiện ra cửa sổ Alt+f11 ( cái này rất nguy hiểm, nhỡ ai không biết thì sửa lung tung là chết em luôn ạ
Câu 1: Nếu bạn Muốn Code này tự động chạy khi mở file mà không cần Enable Macro thì không thể nào được ngoại trừ bạn vào Tools\Macro, Security, chọn Low..., nhưng cách này rất nguy hiểm vì không ngăn chăn được những file chứa virus có hại.
Câu 2: Sau khi bạn bấm Alt+F11 bạn click vào cái Userform1 rồi click chuột phải, chọn View Code, muốn xem code ở Module thì double click vào đó xem thôi
 
Lần chỉnh sửa cuối:
1.cách đó mình biết nhưng mình muốn nhúng thẳng vào file luôn để tự động chạy khi mở file
giống như là viết bằng VBA phải không ạ ( sory vì mình mới học E )
Xin lỗi mình chưa hiểu ý bạn lắm, bạn có thể giải thích kỹ hơn không?
 
1.cách đó mình biết nhưng mình muốn nhúng thẳng vào file luôn để tự động chạy khi mở file
giống như là viết bằng VBA phải không ạ ( sory vì mình mới học E )

2. Khi hiện ra form đăng nhập thì nếu em không chọn tên trong danh sách mà gõ lụi 1 tên nào thì nó sẽ hiện ra lỗi: sau đó nếu nhu chọn DEBUG thì sẽ hiện ra cửa sổ Alt+f11 ( cái này rất nguy hiểm, nhỡ ai không biết thì sửa lung tung là chết em luôn ạ


1.tức là em muốn hện cái form đăng nhập lên trước khi chọn EN Mảco , sau đó rồi ENABLE macro cũng được( theo cái code của anh thì Phải enable macro thì Form mới hiện lên)
2. a xem lại câu hỏi 2 giùm em với ạ
 
Lần chỉnh sửa cuối:
1.tức là em muốn hện cái form đăng nhập lên trước khi chọn EN Mảco , sau đó rồi ENABLE macro cũng được( theo cái code của anh thì Phải enable macro thì Form mới hiện lên)
2. a xem lại câu hỏi 2 giùm em với ạ
Câu 1: Hoàn toàn không thể thực hiện theo ý bạn được.
Câu 2 : Bạn thêm dòng "On Error Resume Next" đầu thủ tục change của UserName. Nếu không cho người khác sửa code thì bạn đặt Pass. nhé. Cách làm như sau:
Nhấn Alt+F11, vào Tools\VBAproject ...., chọn gờ Protection, chọn lock project for viewing, gõ pass, xác nhận pass, ok là xong.

Bạn xem lại file nhé.
 

File đính kèm

Lần chỉnh sửa cuối:
thank bro mình sẽ thử, có gì mình sẽ lại phiền bro nữa
 
Câu 1: Hoàn toàn không thể thực hiện theo ý bạn được.
Câu 2 : Bạn thêm dòng "On Error Resume Next" đầu thủ tục change của UserName. Nếu không cho người khác sửa code thì bạn đặt Pass. nhé. Cách làm như sau:
Nhấn Alt+F11, vào Tools\VBAproject ...., chọn gờ Protection, chọn lock project for viewing, gõ pass, xác nhận pass, ok là xong.

Bạn xem lại file nhé.

Bây giờ lại nảy sinh thêm 2 vấn đề em cần a chỉ cho em nữa

1. Em muốn khi mình đăng nhập vào rồi( đăng nhập không phải là ADMIN- tức là chỉ xem dc 1 số sheet) thì sẽ có một cách nào đó( có thể là 1 nút lệnh) để em đăng nhập lại vào quyền admin thay vì phải Reopen lại file

2. Có thể sửa lại code để khi File mở tới cửa sổ đăng nhập nếu nó phát hiện ra là người sử dụng( ví dụ HÙng, Vũ-- Tức là USer name của máy) lập tức đăng nhập liền với quyền admin còn các người còn lại sẽ đăng nhập thông qua cửa sổ đăng nhập bình thường

thank a trước
 
Help me pls.............
 
To: amesan

Yêu cầu của bạn ở file đính kèm nhé.

To: hunglao

-Câu 1 : Giải quyết theo ý bạn.
-Câu 2 : Cái này tôi đã lấy UserName đưa vào textbox có tên là txtUser, việc còn lại của bạn là lấy txtUser này để làm điều kiện đăng nhập.
 

File đính kèm

To: amesan

Yêu cầu của bạn ở file đính kèm nhé.

To: hunglao

-Câu 1 : Giải quyết theo ý bạn.
-Câu 2 : Cái này tôi đã lấy UserName đưa vào textbox có tên là txtUser, việc còn lại của bạn là lấy txtUser này để làm điều kiện đăng nhập.


a xem lại giùm em mấy vấn đề sau

1. nếu không En macro ( tức là chưa đăng nhập thì vân thấy hết 6 sheet), cái này ở file lần trước a làm cho e không bị
2. Em muốn hiệu chỉnh các tên nguyễn văn 1, nguyễn văn 2.... thì vào đâu( hình như sheet7 hay 8 gì phải không a, mà em kô mở dc 2 sheet này)
3. text box: txtuser ở đâu mà em không thấy. Không biết a có hiểu ý câu hỏi của em không nữa. Ý em là khi mà En macro để hiện lên cửa sổ đăng nhập, Nếu nó phát hiện ra đang đăng nhập trên một số máy do em quy đinh trước ( ví dụ HUngkt,vukt) thì nó sẽ tự động nhảy vào quyền amin luôn mà không cần chọn User với pass> chỉ khi làm ở trên các máy khác thì mới cần thôi a

thank a nhiều
 
a xem lại giùm em mấy vấn đề sau

1. nếu không En macro ( tức là chưa đăng nhập thì vân thấy hết 6 sheet), cái này ở file lần trước a làm cho e không bị
2. Em muốn hiệu chỉnh các tên nguyễn văn 1, nguyễn văn 2.... thì vào đâu( hình như sheet7 hay 8 gì phải không a, mà em kô mở dc 2 sheet này)
3. text box: txtuser ở đâu mà em không thấy. Không biết a có hiểu ý câu hỏi của em không nữa. Ý em là khi mà En macro để hiện lên cửa sổ đăng nhập, Nếu nó phát hiện ra đang đăng nhập trên một số máy do em quy đinh trước ( ví dụ HUngkt,vukt) thì nó sẽ tự động nhảy vào quyền amin luôn mà không cần chọn User với pass> chỉ khi làm ở trên các máy khác thì mới cần thôi a

thank a nhiều
Câu 1 : Giải quyết theo ý bạn là bạn gọi macro "dong" vào thủ tục khi mở workbook và trước khi đóng workbook và thêm đoạn code tự động lưu lại khi thoát.

Mã:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call dong
 If Me.Saved = False Then Me.Save
End Sub
Private Sub Workbook_Open()
Call dong
Call moform
End Sub

Câu 2 : Bạn vào sheet8("Username") để chỉnh thông tin người đăng nhập, Bạn lưu ý là đăng nhập với quyền "Admin" thì mới thấy sheet này.

Câu 3 : Bạn vào cửa sổ VBA chọn Userform1 thì thấy textbox này, mình đã dđặt thuộc tính cho nó khi mở form không hiển thị nân bạn không thấy textbox này khi mở form.
Cho mình hỏi thêm là bạn muốn so sánh UserName của máy hay là tên máy ? Nếu là tên máy là nó phải khác đó nhé.
Tôi gợi ý cho bạn nhé:
- Lấy txtUser làm điều kiện, nếu như khi mở form lên nó chứa text là "HUngkt,vukt" hay là gì gì đó... thì bạn gọi macro "mo" và thoát form.

Lưu Ý : Pass cho "Nguyễn Văn 1" quyền Admin là số 1
 

File đính kèm

Lần chỉnh sửa cuối:
anh có thể cho em xin nick Y hoặc Skype dc ko ạ, thank a
 
Câu 1 : Giải quyết theo ý bạn là bạn gọi macro "dong" vào thủ tục khi mở workbook và trước khi đóng workbook và thêm đoạn code tự động lưu lại khi thoát.

Mã:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call dong
 If Me.Saved = False Then Me.Save
End Sub
Private Sub Workbook_Open()
Call dong
Call moform
End Sub

Câu 2 : Bạn vào sheet8("Username") để chỉnh thông tin người đăng nhập, Bạn lưu ý là đăng nhập với quyền "Admin" thì mới thấy sheet này.

Câu 3 : Bạn vào cửa sổ VBA chọn Userform1 thì thấy textbox này, mình đã dđặt thuộc tính cho nó khi mở form không hiển thị nân bạn không thấy textbox này khi mở form.
Cho mình hỏi thêm là bạn muốn so sánh UserName của máy hay là tên máy ? Nếu là tên máy là nó phải khác đó nhé.
Tôi gợi ý cho bạn nhé:
- Lấy txtUser làm điều kiện, nếu như khi mở form lên nó chứa text là "HUngkt,vukt" hay là gì gì đó... thì bạn gọi macro "mo" và thoát form.

Lưu Ý : Pass cho "Nguyễn Văn 1" quyền Admin là số 1



1. ANh có thể cho cửa sổ EXEL vẫn xuất hiện khi form đăng nhập hiện ra được không ạ
( GIỐNG NHƯ FILE E ĐÍNH KÈM ĐÓ)
2. User name khi sử dụng EXEL đó anh
3. Cái text box đó em add tên sử dụng thế nào vậy a( xl vì em không biết viết code)
 

File đính kèm

Lần chỉnh sửa cuối:
1. ANh có thể cho cửa sổ EXEL vẫn xuất hiện khi form đăng nhập hiện ra được không ạ
2. User name khi sử dụng EXEL đó anh
3. Cái text box đó em add tên sử dụng thế nào vậy a( xl vì em không biết viết code)
Bạn chỉ cần bỏ đoạn Application.Visible = False đi khi mở form là xong.
Code như sau:
Mã:
Private Sub UserForm_Initialize()
'Application.Visible = False
Call dong
txtUser.Text = GetUserName()
txtComputerName.Text = ComputerName()
If txtUser.Text = "HUngkt" Then
Call mo
End If
Sheet7.Activate
Unload Me

End Sub
 
Web KT

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

Back
Top Bottom