Chào các bạn! Mình có làm một bài Excel tạo form đăng nhập nhưng mình chưa tạo được form thay đổi thông tin đăng nhập khi đăng nhập đúng. Do đó, khi muốn thay đổi phải mở Vba lên để mà thay đổi trong đó. Rất là phiền phức. Bạn nào biết thì chỉ dùm nhe. Tải file đính kèm xem thử nhe!
Xin cám ơn.
Liên lạc với mình qua truongminhthi999@gmail.com
Bác Nghĩa chưa hiểu ý em rồi , chẳng là em muốn tận dụng luôn file này của bác nhưng lại tích hợp đoạn code định thời gian hết hạn và chống copy thêm vào file này của bác thì insert nó vào vị trí nào?
VD muốn thêm code này thì insert vào chỗ nào?
Private Sub Workbook_Open()
If Date >= DateSerial(2010, 6, 20) Then
MsgBox "Het han su dung" Call KillFile 'Hoac thay bang Application.Quit
End If End Sub
Private Sub Workbook_Open()
On Error Resume Next
[COLOR=#0000ff] If Date >= DateSerial(2010, 6, 20) Then[/COLOR]
[COLOR=#0000ff] MsgBox "Het han su dung"[/COLOR]
[COLOR=#0000ff] Call KillFile 'Hoac thay bang Application.Quit[/COLOR]
[COLOR=#0000ff] Else[/COLOR]
Call StructureUnLock
With Home
.Select
.cmdAdmin.Enabled = False
.cmdUser1.Enabled = False
.cmdUser2.Enabled = False
.cmdUser3.Enabled = False
End With
Application.ScreenUpdating = False
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
If sh.CodeName <> "Home" Then
sh.Visible = xlSheetVeryHidden
End If
Next
UsfUser.Show
[COLOR=#0000ff] End If[/COLOR]
End Sub
Private Sub Workbook_Open()
On Error Resume Next
[COLOR=#0000ff] If Date >= DateSerial(2010, 6, 20) Then[/COLOR]
[COLOR=#0000ff] MsgBox "Het han su dung"[/COLOR]
[COLOR=#0000ff] Call KillFile 'Hoac thay bang Application.Quit[/COLOR]
[COLOR=#0000ff] Else[/COLOR]
Call StructureUnLock
With Home
.Select
.cmdAdmin.Enabled = False
.cmdUser1.Enabled = False
.cmdUser2.Enabled = False
.cmdUser3.Enabled = False
End With
Application.ScreenUpdating = False
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
If sh.CodeName <> "Home" Then
sh.Visible = xlSheetVeryHidden
End If
Next
UsfUser.Show
[COLOR=#0000ff] End If[/COLOR]
End Sub
Trong file đó, bạn tạo thêm 1 module (tôi gọi là ModuleSeries) và chép vào hàm này:
Mã:
Function ReadSeriesNumber()
With CreateObject("Scripting.FileSystemObject")
With .GetDrive(Environ("SystemDrive"))
If .IsReady Then
ReadSeriesNumber = Abs(.Serialnumber)
Else
ReadSeriesNumber = -1
End If
End With
End With
End Function
Sau đó dùng hàm đó để kiểm tra máy của bạn có Series là bao nhiêu.
dùng thủ tục này để kiểm tra:
Mã:
Sub test()
Debug.Print ReadSeriesNumber
End Sub
Sau khi có số series, bạn đặt câu màu đỏ này lên trên cùng của ModuleSeries
Public Const YourSeries As Long = 1964788159 '<<< Số series của máy tính bạn thay cho số này.
Bây giờ, code của sự kiện Open sẽ như sau:
Mã:
Private Sub Workbook_Open()
On Error Resume Next
If Date >= DateSerial(2010, 6, 20) Then
MsgBox "Het han su dung"
Call KillFile 'Hoac thay bang Application.Quit
[COLOR=#0000ff] ElseIf [/COLOR][COLOR=#ff0000]ReadSeriesNumber <> YourSeries[/COLOR][COLOR=#0000ff] Then[/COLOR]
[COLOR=#0000ff] MsgBox "May nay khong duoc quyen su dung"[/COLOR]
[COLOR=#0000ff] Call KillFile 'Hoac thay bang Application.Quit[/COLOR]
Else
Call StructureUnLock
With Home
.Select
.cmdAdmin.Enabled = False
.cmdUser1.Enabled = False
.cmdUser2.Enabled = False
.cmdUser3.Enabled = False
End With
Application.ScreenUpdating = False
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
If sh.CodeName <> "Home" Then
sh.Visible = xlSheetVeryHidden
End If
Next
UsfUser.Show
End If
End Sub
Trong file đó, bạn tạo thêm 1 module (tôi gọi là ModuleSeries) và chép vào hàm này:
Mã:
Function ReadSeriesNumber()
With CreateObject("Scripting.FileSystemObject")
With .GetDrive(Environ("SystemDrive"))
If .IsReady Then
ReadSeriesNumber = Abs(.Serialnumber)
Else
ReadSeriesNumber = -1
End If
End With
End With
End Function
Sau đó dùng hàm đó để kiểm tra máy của bạn có Series là bao nhiêu.
dùng thủ tục này để kiểm tra:
Mã:
Sub test()
Debug.Print ReadSeriesNumber
End Sub
Sau khi có số series, bạn đặt câu màu đỏ này lên trên cùng của ModuleSeries
Public Const YourSeries As Long = 1964788159 '<<< Số series của máy tính bạn thay cho số này.
Bây giờ, code của sự kiện Open sẽ như sau:
Mã:
Private Sub Workbook_Open()
On Error Resume Next
If Date >= DateSerial(2010, 6, 20) Then
MsgBox "Het han su dung"
Call KillFile 'Hoac thay bang Application.Quit
[COLOR=#0000ff] ElseIf [/COLOR][COLOR=#ff0000]ReadSeriesNumber <> YourSeries[/COLOR][COLOR=#0000ff] Then[/COLOR]
[COLOR=#0000ff] MsgBox "May nay khong duoc quyen su dung"[/COLOR]
[COLOR=#0000ff] Call KillFile 'Hoac thay bang Application.Quit[/COLOR]
Else
Call StructureUnLock
With Home
.Select
.cmdAdmin.Enabled = False
.cmdUser1.Enabled = False
.cmdUser2.Enabled = False
.cmdUser3.Enabled = False
End With
Application.ScreenUpdating = False
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
If sh.CodeName <> "Home" Then
sh.Visible = xlSheetVeryHidden
End If
Next
UsfUser.Show
End If
End Sub
Đơn giản là như vầy, tạo một module rồi chép thủ tục dưới đây vào trong đó:
Mã:
Option Explicit
[COLOR=#ff0000]Public Const MyComputerSeries = 1964788159[/COLOR]
Function ReadSeriesNumber()
With CreateObject("Scripting.FileSystemObject")
With .GetDrive(Environ("SystemDrive"))
If .IsReady Then
ReadSeriesNumber = Abs(.Serialnumber)
Else
ReadSeriesNumber = -1
End If
End With
End With
End Function
[COLOR=#0000ff]''Thu tuc nay de ban lay so series cua may tinh[/COLOR]
[COLOR=#0000ff]''Mo Immediate (Ctrl+G) de xem so[/COLOR]
[COLOR=#0000ff]''sau do copy so do vao [/COLOR][COLOR=#ff0000]Const MyComputerSeries[/COLOR]
[COLOR=#0000ff]''o phia tren thay cho day so [/COLOR][COLOR=#ff0000]1964788159[/COLOR]
Sub KiemTraSeries()
Debug.Print ReadSeriesNumber
End Sub
Chép trong ThisWorkbook thủ tục của sự kiện Open:
Mã:
Private Sub Workbook_Open()
On Error Resume Next
[COLOR=#0000ff]''Thoi han su dung:[/COLOR]
If Date > DateSerial(2014, 3, 12) Then
MsgBox "Het han su dung"
GoTo ExitSub
[COLOR=#0000ff]''Kiem tra so series, neu dung may minh moi cho mo file:[/COLOR]
ElseIf ReadSeriesNumber <> MyComputerSeries Then
MsgBox "May nay khong duoc quyen su dung"
GoTo ExitSub
Else
MsgBox "Ban da xem duoc file!"
End If
Exit Sub
ExitSub:
If Workbooks.Count = 1 Then
Application.Quit
Else
ThisWorkbook.Close False
End If
End Sub
Anh Nghĩa cho em hỏi, em đã tải bài # 26 của anh về và muốn vận dụng vào file của em thì phải làm sao hả anh Nghĩa. (Tức là em muốn lấy cái Form của Anh để làm Pass mở file của em Ah.)
Anh Nghĩa cho em hỏi, em đã tải bài # 26 của anh về và muốn vận dụng vào file của em thì phải làm sao hả anh Nghĩa. (Tức là em muốn lấy cái Form của Anh để làm Pass mở file của em Ah.)
Em đưa File cho Anh Nghĩa đây Ah. Anh Nghĩa có thể giúp cho em có form Pass để mở file(Anh chỉnh cho form to ra thêm một tí) và Anh có thể tạo code không cho ai xóa được file này (ổ D) Mong Anh giúp đỡ!!!!
Em đưa File cho Anh Nghĩa đây Ah. Anh Nghĩa có thể giúp cho em có form Pass để mở file(Anh chỉnh cho form to ra thêm một tí) và Anh có thể tạo code không cho ai xóa được file này (ổ D) Mong Anh giúp đỡ!!!!
Lưu ý nha bạn, lần sau có gửi file lên thì cũng phải bỏ VBA Password ra cho người khác còn giúp bạn nữa nha!
Ngoài việc đưa Form đăng nhập vào, tôi còn thấy trong ThisWorkbook Module, bạn có thủ tục này:
Mã:
Private Sub Workbook_Open()
On Error Resume Next
Application.ScreenUpdating = False
ThisWorkbook.Application.Caption = ("Chuong trinh Nhap Xuat Ton")
With Application
.StatusBar = ("Written by Do Minh Quang - Ban quyen thuoc ve tac gia")
Application.ScreenUpdating = True
End With
End Sub
Khi bạn mở file, sự kiện này kích hoạt, thế là tất cả các file Excel đang mở chịu sự tác động của nó nên Caption và StatusBar đều có 2 dòng chuỗi đó hiện lên, cho dù không phải chương trình đó hiện hành (activate). Cho nên tôi sửa lại cho bạn bằng 2 thủ tục này, khi file của bạn hiện hành thì chúng hiện lên, khi qua file khác thì mất đi:
Mã:
Private Sub Workbook_Activate()
On Error Resume Next
Application.Caption = "Chuong trinh Nhap Xuat Ton"
Application.StatusBar = "Written by Do Minh Quang - Ban quyen thuoc ve tac gia"
End Sub
Private Sub Workbook_Deactivate()
On Error Resume Next
Application.Caption = ""
Application.StatusBar = ""
End Sub
À, việc không cho xóa tôi không thực hiện được nha!
Xin lỗi Anh Nghĩa nhe!!!Thực chất là em cũng sưu tầm file này trên DD, vì trình độ VBA gà mờ, nên em thêm chổ này bỏ chổ kia một tí cho phù hợp với công việc của em. Em chả viết được đến 1/2 đoạn code nào cả. Đúng là khi mở file này lên là tất cả các file excell khác đều có chuỗi đó hiện lên.Cám ơn Anh nhiều!!!
Chào bác Hoàng Trọng Nghĩa!Bác cho em hỏi:Có cách nào để ghi lại nhật ký làm việc của từng User trong 1 File Excel ko ạ.Ví dụ như mình muốn biết trong phiên đăng nhập của 1 user,người đó đã làm gì,đã chỉnh sửa thông tin ra sao,thêm bớt số liệu như thế nào.Nhật ký tất nhiên chỉ có admin mới có quyền xem dc ạ.
Em xin cảm ơn!
sao mình dùng office 2013 64bit (win 8.1 64 bit) để mở file thì bị báo lỗi:
"Could not load some objects because they are not avaiable on this machine"
Khi vào VBA thì báo lỗi:
"The code in this projects must be updated for use on 64-bit system. Please review and update Declare statements and then mark them with the PtrSafe attribute"
ở 2 dòng sau:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Sau khi sửa lại thành:
#If VBA7 Then
Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As LongPtr
#Else
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
#End If
#If VBA7 Then
Private Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As LongPtr, _
ByVal nIndex As LongPtr, ByVal dwNewLong As LongPtr) As LongPtr
#Else
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, _
ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
#End If
thì lại bị báo lỗi:'
"Type mismatch"
ở dòng:
hwnd = FindWindow("ThunderDFrame", Me.Caption)
sao mình dùng office 2013 64bit (win 8.1 64 bit) để mở file thì bị báo lỗi:
"Could not load some objects because they are not avaiable on this machine"
Khi vào VBA thì báo lỗi:
"The code in this projects must be updated for use on 64-bit system. Please review and update Declare statements and then mark them with the PtrSafe attribute"
ở 2 dòng sau:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Sau khi sửa lại thành:
#If VBA7 Then
Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As LongPtr
#Else
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
#End If
#If VBA7 Then
Private Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As LongPtr, _
ByVal nIndex As LongPtr, ByVal dwNewLong As LongPtr) As LongPtr
#Else
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, _
ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
#End If
thì lại bị báo lỗi:'
"Type mismatch"
ở dòng:
hwnd = FindWindow("ThunderDFrame", Me.Caption)
file đăng nhập của anh Hoàng Trọng hay ở chỗ không bật "Enable macro" vẫn chạy phần đăng nhập .
Nhưng sao sử dụng thì hay bị lỗi không save được và tiếp theo bị crash luôn . Có lúc đang mở file mà không làm gì thì nó cũng bị crash , bó tay luôn , không biết có phải do em bỏ hết delete hết sheet chỉ chừa lại sheet "Nguon" và UsfUser nên bị như thế
Đây là file "Demo" cho bạn dùng thử chơi cho vui nè! Mọi password đều là HoangTrongNghia.
Trong file tôi có 4 người được dùng, với Admin là cao nhất, sử dụng được mọi thứ, kể cả reset lại tất cả user & pass (thủ công, nếu muốn tự động, tự các bạn mày mò đi nhé, không khó); và 3 User, chỉ được quyền mở sheet của mình.
[NOTE1]Các Username / Password:
1) ADMIN / Admin
2) USER1 / User1
3) USER2 / User2
4) USER3 / User3[/NOTE1]
Các bạn cứ lần lượt mở file rồi chọn thử từng Username xem sao (mở và đóng 4 lần), nên chọn lần cuối là Admin cho thú vị!
[TIP]Click vào Box Username để xổ ra danh sách Users nha các bạn
[/TIP]
File đã được cập nhật mới, sửa lỗi đăng nhập, các bạn nên tải file AdminAndUsers2.rar nhé!
Bác Nghĩa có thể cho mình hỏi làm sao cải thiện thời gian đăng nhập vào nhanh hơn được hay không?
Và muốn hỏi anh cách tạo user cho file với các tiêu chí sau:
1. User Admin: Có quyền full toàn bộ trên file
2. User Người A: Chỉ được phép nhập tại các sheet xxx,
3. User Người B: Chỉ được thao tác tại vùng A5:E10 và G5:L5 của sheet xxx và được xem các sheet a, b, c...
4. User Người C: Chỉ được xem sheet xxx.
Với xxx ở đây là 1 sheet do mình chỉ định.
Có thể tạo được nhiều user cho ng A, ng B... (Mỗi loại vài user)
mọi người ơi sao t cũng làm theo bài GPEV sang file khác mà khi mở excel lên nó ko hiện form đăng nhập pass Word là sao ạ...các form làm xong hết rồi..giờ chỉ cần làm ntn để khi tắt excel lên nó chi hiện form đăng nhập để đăng nhập vậy mọi người...chỉ giúp mình với...cảm ơn nhé
Kính gửi Anh Nghĩa
Theo tham khảo từ file của anh, em đã tạo được đăng nhập riêng.
Tuy nhiên file của em có nhiều sheet riêng lẻ, và em muốn một người đăng nhập vào có thể vào một số sheet cố định ( ý của em cũng giống của tiennam
là:Cách tạo User cho file với tiêu chí:
1. User Admin: Có quyền đăng nhập tất cả các sheet
2. User Người A: Dăng nhập vào sheet A, Sheet C
3. User Người B: Đăng nhập sheetB, Sheet D
Như vây có thể tạo user đang nhập cho 1 người ( VD Người A đăng nhập vào Sheet A, Sheet C mà các sheet nay vẫn hiện trên sheet Home như user Admin.
Anh Nghĩa vui lòng giúp đỡ để em có thể tìm ra hướng viết tiếp chương trình
Cảm ơn anh Nghĩa nhiều
Hiện nay em đang dựa trên bài viết và file của anh HoangTrongNghia để làm form đăng nhập
Mục đích chỉ để phân quyền vào các sheet cụ thể cho từng người
Tuy nhiên theo cách đăng nhập của anh HoangTrongNghia thì 1 người chỉ đăng nhập vào 1 sheet mà thôi ( Ngoại trừ Admin)
Anh vui long chỉnh giúp em code để :
1. User Admin: Có quyền đăng nhập tất cả các sheet
2. User Người A: Dăng nhập vào sheet A, Sheet C
3. User Người B: Đăng nhập sheetB, Sheet D
Như vây có thể tạo user đang nhập cho 1 người ( VD Người A đăng nhập vào Sheet A, Sheet C mà các sheet nay vẫn hiện trên sheet Home như user Admin.
Anh ndu96081631 và các anh chi trong diễn đàn vui lòng giúp đỡ để em có thể tìm ra hướng viết tiếp chương trình
CODE CỦA EM ĐƯỢC TRÍCH DẪN TỪ BÀI VIẾT CỦA ANH HOANGTRONGNGHIA
Nguyên văn bởi Hoàng Trọng Nghĩa
Đây là file "Demo" cho bạn dùng thử chơi cho vui nè! Mọi password đều là HoangTrongNghia.
Trong file tôi có 4 người được dùng, với Admin là cao nhất, sử dụng được mọi thứ, kể cả reset lại tất cả user & pass (thủ công, nếu muốn tự động, tự các bạn mày mò đi nhé, không khó); và 3 User, chỉ được quyền mở sheet của mình.
Chú ý:Các Username / Password:
1) ADMIN / Admin
2) USER1 / User1
3) USER2 / User2
4) USER3 / User3
Các bạn cứ lần lượt mở file rồi chọn thử từng Username xem sao (mở và đóng 4 lần), nên chọn lần cuối là Admin cho thú vị!
Tips:Click vào Box Username để xổ ra danh sách Users nha các bạn
File đã được cập nhật mới, sửa lỗi đăng nhập, các bạn nên tải file AdminAndUsers2.rar nhé!
Hiện nay em đang dựa trên bài viết và file của anh HoangTrongNghia để làm form đăng nhập
Mục đích chỉ để phân quyền vào các sheet cụ thể cho từng người
Tuy nhiên theo cách đăng nhập của anh HoangTrongNghia thì 1 người chỉ đăng nhập vào 1 sheet mà thôi ( Ngoại trừ Admin)
Anh vui long chỉnh giúp em code để :
1. User Admin: Có quyền đăng nhập tất cả các sheet
2. User Người A: Dăng nhập vào sheet A, Sheet C
3. User Người B: Đăng nhập sheetB, Sheet D
Như vây có thể tạo user đang nhập cho 1 người ( VD Người A đăng nhập vào Sheet A, Sheet C mà các sheet nay vẫn hiện trên sheet Home như user Admin.
Anh ndu96081631 và các anh chi trong diễn đàn vui lòng giúp đỡ để em có thể tìm ra hướng viết tiếp chương trình
CHào các bạn,
Theo như file này thì làm sao mình tạo thêm 1 sheet mới, thấy cái nút để click chuột vào bị ẩn đi, không thể tạo thêm sheet mới được.
Xin các bạn chỉ giúp.
Xin cảm ơn.
Đây là file "Demo" cho bạn dùng thử chơi cho vui nè! Mọi password đều là HoangTrongNghia.
Trong file tôi có 4 người được dùng, với Admin là cao nhất, sử dụng được mọi thứ, kể cả reset lại tất cả user & pass (thủ công, nếu muốn tự động, tự các bạn mày mò đi nhé, không khó); và 3 User, chỉ được quyền mở sheet của mình.
[NOTE1]Các Username / Password:
1) ADMIN / Admin
2) USER1 / User1
3) USER2 / User2
4) USER3 / User3[/NOTE1]
Các bạn cứ lần lượt mở file rồi chọn thử từng Username xem sao (mở và đóng 4 lần), nên chọn lần cuối là Admin cho thú vị!
[TIP]Click vào Box Username để xổ ra danh sách Users nha các bạn
[/TIP]
File đã được cập nhật mới, sửa lỗi đăng nhập, các bạn nên tải file AdminAndUsers2.rar nhé!
Anh Hoàng Trọng Nghĩa vui lòng giúp em đem form này vào file của e được ko ạ. Em rất thích nhưng vì mù tịt nên mò nguyên ngày ko làm được. Cái đơn giản nhất là sửa cái button anh khóa mà cũng ko làm được. hic hic
Ở form của anh em thích nhất hai cái. Đó là khi đăng nhập nếu không enable macro thì chỉ hiện sheet home và không tác động gì được đến file, thứ 2 là đăng nhập bằng các user thì chỉ hiện button của user đó ở trang home.
Em thấy mấy anh nói VBA bảo mật chả có gì nhưng với những người như e thì thế thì quá đủ. Nhưng e muốn có một chút thay đổi (nếu có thể) ạ.
- Khi đăng nhập bằng bất cứ user nào thì cũng login vào sheet "trang chu", không cần vào các trang user rồi lại vào trang home nữa, nhưng chỉ admin mới hiện đầy đủ các button còn các user khác chỉ hiện hai button báo cáo thôi.
- Ở 2 sheet báo cáo nhờ a xem giúp em làm sao để user có thể thống kê để in ra chứ ko thể sửa được kết quả.
Mong nhận được sự hỗ trợ của anh.
Anh Hoàng Trọng Nghĩa vui lòng giúp em đem form này vào file của e được ko ạ. Em rất thích nhưng vì mù tịt nên mò nguyên ngày ko làm được. Cái đơn giản nhất là sửa cái button anh khóa mà cũng ko làm được. hic hic
Ở form của anh em thích nhất hai cái. Đó là khi đăng nhập nếu không enable macro thì chỉ hiện sheet home và không tác động gì được đến file, thứ 2 là đăng nhập bằng các user thì chỉ hiện button của user đó ở trang home.
Em thấy mấy anh nói VBA bảo mật chả có gì nhưng với những người như e thì thế thì quá đủ. Nhưng e muốn có một chút thay đổi (nếu có thể) ạ.
- Khi đăng nhập bằng bất cứ user nào thì cũng login vào sheet "trang chu", không cần vào các trang user rồi lại vào trang home nữa, nhưng chỉ admin mới hiện đầy đủ các button còn các user khác chỉ hiện hai button báo cáo thôi.
- Ở 2 sheet báo cáo nhờ a xem giúp em làm sao để user có thể thống kê để in ra chứ ko thể sửa được kết quả.
Mong nhận được sự hỗ trợ của anh.
Hãy chờ một phiên bản mới hoàn toàn đặc biệt! Bạn có thể tạo 1 sheet mới cho một User mới nếu bạn là Admin. Không chờ lâu đâu! Chắc chắn giao diện sẽ tốt hơn.
Hãy chờ một phiên bản mới hoàn toàn đặc biệt! Bạn có thể tạo 1 sheet mới cho một User mới nếu bạn là Admin. Không chờ lâu đâu! Chắc chắn giao diện sẽ tốt hơn.
Em rất hi vọng sẽ sớm được anh giúp cho phiên bản đó vì em đang rất cần ạ. Em cảm ơn anh.
Nhưng nếu với phiên bản cũ này của anh thì với những mong muốn e đưa ra có làm được không ạ. Nếu có thể anh giúp em trước với phiên bản này để e quản lý cái đã vì nếu để thế này những người vận hành sẽ vẫn sửa được dữ liệu và làm thất thoát của bọn em trong quá trình thanh toán. Mong anh giúp.
Em rất hi vọng sẽ sớm được anh giúp cho phiên bản đó vì em đang rất cần ạ. Em cảm ơn anh.
Nhưng nếu với phiên bản cũ này của anh thì với những mong muốn e đưa ra có làm được không ạ. Nếu có thể anh giúp em trước với phiên bản này để e quản lý cái đã vì nếu để thế này những người vận hành sẽ vẫn sửa được dữ liệu và làm thất thoát của bọn em trong quá trình thanh toán. Mong anh giúp.
Đừng có hối, tôi đang làm cho bạn và mọi người cần đến đây. Chậm lắm là ngày mốt tôi sẽ hoàn tất vì tôi phải check đi check lại có lỗi phát sinh hay không.
Dung nhan mùa hạ của nó đây:
Và đây nữa, nó là sheet để tạo tất cả các nút lệnh hồng và cam của user đây:
Đừng có hối, tôi đang làm cho bạn và mọi người cần đến đây. Chậm lắm là ngày mốt tôi sẽ hoàn tất vì tôi phải check đi check lại có lỗi phát sinh hay không.
Dung nhan mùa hạ của nó đây:
Và đây nữa, nó là sheet để tạo tất cả các nút lệnh hồng và cam của user đây:
CHào các bạn, Theo như file này thì làm sao mình tạo thêm 1 sheet mới, thấy cái nút để click chuột vào bị ẩn đi, không thể tạo thêm sheet mới được. Xin các bạn chỉ giúp. Xin cảm ơn.
CHào các bạn, Theo như file này thì làm sao mình tạo thêm 1 sheet mới, thấy cái nút để click chuột vào bị ẩn đi, không thể tạo thêm sheet mới được. Xin các bạn chỉ giúp. Xin cảm ơn.
Xin chào anh Nghĩa,
Vì em dựa vào cái file củ của anh để áp dụng vào công ty em, nên cũng sử dụng cả năm nay rồi.
Em đọc file mới chưa hiểu rõ cho lắm.
Xin xin anh dành chút thời gian để xem cái file của em và chỉnh sửa dùm em.
* Em muốn tạo thêm cái Box, khi nhắp cái box đó tự động tạo thêm sheet mới , nếu nhắp 2 lần tạo 2 sheet mới, nhắp 1 lần tạo 1 sheet, khi sheet mới được tạo nó hiện ra nhưng mặc định active là sheet chủ "Home".
* Khi mà em save, file hiện thời của em là nhập 2 lần pass mới cho save hay save as ---> xin anh xem giúp dùm em chỉ muốn nhập 1 lần pass thôi là save và nếu gõ sai pass thì sẽ tự động xóa đi pass củ để cho mình nhập pass mới . - xin anh giúp dùm lệnh "Cancel" trong lúc không muốn gõ pass để save.
* lúc mở file này lên cũng vậy, khi nhập pass sai, thì em muốn nó tự động xóa đi để nhập lại pass.
Xin anh dành chút thời gian giúp đỡ.
Xin cảm ơn anh nhiều.
XIn chúc anh vui vẻ 1 ngày mới.
user : admin pass: spiderman
user1 : pass 123
user2 : pass 123
còn tất cả pass còn lại là "spiderman"
Xin chào anh Nghĩa,
Vì em dựa vào cái file củ của anh để áp dụng vào công ty em, nên cũng sử dụng cả năm nay rồi.
Em đọc file mới chưa hiểu rõ cho lắm.
Xin xin anh dành chút thời gian để xem cái file của em và chỉnh sửa dùm em.
* Em muốn tạo thêm cái Box, khi nhắp cái box đó tự động tạo thêm sheet mới , nếu nhắp 2 lần tạo 2 sheet mới, nhắp 1 lần tạo 1 sheet, khi sheet mới được tạo nó hiện ra nhưng mặc định active là sheet chủ "Home".
* Khi mà em save, file hiện thời của em là nhập 2 lần pass mới cho save hay save as ---> xin anh xem giúp dùm em chỉ muốn nhập 1 lần pass thôi là save và nếu gõ sai pass thì sẽ tự động xóa đi pass củ để cho mình nhập pass mới . - xin anh giúp dùm lệnh "Cancel" trong lúc không muốn gõ pass để save.
* lúc mở file này lên cũng vậy, khi nhập pass sai, thì em muốn nó tự động xóa đi để nhập lại pass.
Xin anh dành chút thời gian giúp đỡ.
Xin cảm ơn anh nhiều.
XIn chúc anh vui vẻ 1 ngày mới.
user : admin pass: spiderman
user1 : pass 123
user2 : pass 123
còn tất cả pass còn lại là "spiderman"
Bạn cho tôi cái mail đi, tôi gửi bạn file này tham khảo, bảo đảm đẹp và tiện ích (file này tôi mới giúp một thành viên) giờ tôi làm biếng làm quá, bạn cố gắng xem file, pass cho workbook và worksheet đều là 1.
Đơn giản là như vầy, tạo một module rồi chép thủ tục dưới đây vào trong đó:
Chép trong ThisWorkbook thủ tục của sự kiện Open:
Mã:
Private Sub Workbook_Open()
On Error Resume Next
[COLOR=#0000ff]''Thoi han su dung:[/COLOR]
If Date > DateSerial([COLOR=#ff0000][SIZE=3][B]2014, 3, 12[/B][/SIZE][/COLOR]) Then
MsgBox "Het han su dung"
GoTo ExitSub
[COLOR=#0000ff]''Kiem tra so series, neu dung may minh moi cho mo file:[/COLOR]
ElseIf ReadSeriesNumber <> MyComputerSeries Then
MsgBox "May nay khong duoc quyen su dung"
GoTo ExitSub
Else
MsgBox "Ban da xem duoc file!"
End If
Exit Sub
ExitSub:
If Workbooks.Count = 1 Then
Application.Quit
Else
ThisWorkbook.Close False
End If
End Sub
Lâu ngày lục lại bài của Bạn nghĩa ôn lại một tí
Dòng Date chữ to màu đỏ giả thiết đến ngày đó người ta vào Control Panel chỉnh lùi lại ngày thì có giải pháp nào khắc phục được không Bạn...
(Điều Kiện Không chỉnh code và Mcros đã Enable)
Lâu ngày lục lại bài của Bạn nghĩa ôn lại một tí
Dòng Date chữ to màu đỏ giả thiết đến ngày đó người ta vào Control Panel chỉnh lùi lại ngày thì có giải pháp nào khắc phục được không Bạn...
(Điều Kiện Không chỉnh code và Mcros đã Enable)
Cho hỏi anh Nghĩa
File Quyendangnhap sau khi tạo ra 9 user thì nó nằm lộn xộn và chồng lên nhau. Mình làm sao để sắp xếp theo thứ tự để nhìn cho đẹp mắt. Nhờ anh giúp nhe. Thanks
Cho hỏi anh Nghĩa
File Quyendangnhap sau khi tạo ra 9 user thì nó nằm lộn xộn và chồng lên nhau. Mình làm sao để sắp xếp theo thứ tự để nhìn cho đẹp mắt. Nhờ anh giúp nhe. Thanks
Bạn Unprotect sheet rồi dùng chuột kéo các nút lại vị trí mình muốn một cách thủ công. Vì hiện tại a Nghĩa đang quy định mỗi khi tạo sheet/user mới thì nó nằm ở đâu đó trên cột N. Kinh nghiệm của mình là tạo các sheet data trước, sau đó chỉnh sửa rồi mới tạo lần lượt từng user vì ở các user mới vị trí của các nút sẽ giống với vị trí đã đặt ở user Admin. Nếu bạn không thích cũng làm tương tự ở các sheet User Home để chỉnh sửa vị trí các nút theo ý muốn.
Cái này không chỉ ở Excel mà các phần mềm khác cũng dính chưởng vụ chỉnh ngày giờ hệ thống với các bản Demo.
Thường là người ta so sánh vừa ngày giờ hệ thống, vừa ngày giờ Internet. Nhưng giả thiết đặt ra là không kết nối mạng thì lấy gì so sánh?
Cho nên trong trường hợp như thế thì bó tay toàn tập, hoặc ngoài sức của tôi.
Giả sử họ chỉnh ngày giờ hệ thống đi nhưng nếu trong file có sử dụng đến cái hàm ngày tháng thì ứng dụng cũng chạy sai theo. Như vậy việc sử dụng ứng dụng đó k còn ý nghĩa nữa.
Ngoài ra khi thay đổi ngày giờ hệ thống thỉ cũng không vào google được ( tôi đã từng bị ).
Trong file đó, bạn tạo thêm 1 module (tôi gọi là ModuleSeries) và chép vào hàm này:
Mã:
Function ReadSeriesNumber()
With CreateObject("Scripting.FileSystemObject")
With .GetDrive(Environ("SystemDrive"))
If .IsReady Then
ReadSeriesNumber = Abs(.Serialnumber)
Else
ReadSeriesNumber = -1
End If
End With
End With
End Function
Sau đó dùng hàm đó để kiểm tra máy của bạn có Series là bao nhiêu.
dùng thủ tục này để kiểm tra:
Mã:
Sub test()
Debug.Print ReadSeriesNumber
End Sub
Sau khi có số series, bạn đặt câu màu đỏ này lên trên cùng của ModuleSeries
Public Const YourSeries As Long = 1964788159 '<<< Số series của máy tính bạn thay cho số này.
Bây giờ, code của sự kiện Open sẽ như sau:
Mã:
Private Sub Workbook_Open()
On Error Resume Next
If Date >= DateSerial(2010, 6, 20) Then
MsgBox "Het han su dung"
Call KillFile 'Hoac thay bang Application.Quit
[COLOR=#0000ff] ElseIf [/COLOR][COLOR=#ff0000]ReadSeriesNumber <> YourSeries[/COLOR][COLOR=#0000ff] Then[/COLOR]
[COLOR=#0000ff] MsgBox "May nay khong duoc quyen su dung"[/COLOR]
[COLOR=#0000ff] Call KillFile 'Hoac thay bang Application.Quit[/COLOR]
Else
Call StructureUnLock
With Home
.Select
.cmdAdmin.Enabled = False
.cmdUser1.Enabled = False
.cmdUser2.Enabled = False
.cmdUser3.Enabled = False
End With
Application.ScreenUpdating = False
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
If sh.CodeName <> "Home" Then
sh.Visible = xlSheetVeryHidden
End If
Next
UsfUser.Show
End If
End Sub
Đây là file "Demo" cho bạn dùng thử chơi cho vui nè! Mọi password đều là HoangTrongNghia.
Trong file tôi có 4 người được dùng, với Admin là cao nhất, sử dụng được mọi thứ, kể cả reset lại tất cả user & pass (thủ công, nếu muốn tự động, tự các bạn mày mò đi nhé, không khó); và 3 User, chỉ được quyền mở sheet của mình.
[NOTE1]Các Username / Password:
1) ADMIN / Admin
2) USER1 / User1
3) USER2 / User2
4) USER3 / User3[/NOTE1]
Các bạn cứ lần lượt mở file rồi chọn thử từng Username xem sao (mở và đóng 4 lần), nên chọn lần cuối là Admin cho thú vị!
[TIP]Click vào Box Username để xổ ra danh sách Users nha các bạn
[/TIP]
File đã được cập nhật mới, sửa lỗi đăng nhập, các bạn nên tải file AdminAndUsers2.rar nhé!
Tôi rất hứng thú và phục Hoàng Trọng Nghĩa làm được file này!
Tôi hiện đang công tác tại phòng GD-ĐT quận Phú Nhuận
Tôi đang thực hiện một file báo cáo tháng có sự phân quyền từng sheet như vậy cho từng đơn vị rồi đưa vào trang web để các đơn vị thực hiện báo cáo tháng online - thuận tiện cho công tác quản lý.
Xin gởi file excel tôi đang làm và mong được sự chia sẻ.
Nếu được hướng dẫn thực hiện xin được hậu tạ.
Bạn cho tôi cái mail đi, tôi gửi bạn file này tham khảo, bảo đảm đẹp và tiện ích (file này tôi mới giúp một thành viên) giờ tôi làm biếng làm quá, bạn cố gắng xem file, pass cho workbook và worksheet đều là 1.
Thầy Nghĩa ơi! Em đang dùng mẫu Form đăng nhập này của thầy và chế lại chút xíu cho phù hợp với yêu cầu công việc của em. Thầy chỉ giúp em các vấn đề sau:
1. Cách tạo, chỉnh sửa, di chuyển các nút tạo link liên kết (ví dụ: trong sheet Home có 4 User đăng nhập, giờ 1 muốn thêm 1 cái User nữa thì phải làm sao ạ.
2. Em muốn chỉnh sửa bài trí sheet Home theo ý của em thì phải làm sao ạ.
Em mới mày mò với VBA nhưng công việc đang cần mong thầy Nghĩa chỉ giáo tận tình giúp em ạ.
Em cảm ơn Thầy Nhiều!
Em đang dùng file này của anh, tại các User con em chèn thêm sheet cho nó, nhưng khi save và thoát rồi vào lại không còn sheet vừa chèn nữa. em có cài link dẫn tới nhưng nháp vào cũng không có tác dụng. nhưng em tiếp tục inset sheet thi no ra sheet mang số thứ tự tiếp theo, nghĩa là sheet luc nãy vần tồn tại. giờ làm sao để giải quyết việc này anh chỉ em với.
Và đây nữa, nó là sheet để tạo tất cả các nút lệnh hồng và cam của user đây:
chào các bạn, khi làm form đăng nhập, nếu macro ỡ trạng thái disable thì không cần pass vẫn vào file được. vậy có vba code khi chạy form của mình tự động enable macro lên để bắt nhập mật khẩu hoặc có cách làm form đăng nhập không cần enable macro không, xin hướng dẫn. cảm ơn các bạn.
chào các bạn, khi làm form đăng nhập, nếu macro ỡ trạng thái disable thì không cần pass vẫn vào file được. vậy có vba code khi chạy form của mình tự động enable macro lên để bắt nhập mật khẩu hoặc có cách làm form đăng nhập không cần enable macro không, xin hướng dẫn. cảm ơn các bạn.
Các anh cho em hỏi. Em tạo cái Form đăng nhập Excel bằng MS EXCEL 2010 thì OK. Nhưng khi mở bằng phiên bản MS Excel 2007 thì nó không hiện lên màn hình đăng nhập là sao vậy ạ?
rất cảm ơn bạn nhưng ban ơi sao trên một số máy tính khi mở tệp tin lên lại không hiển thị form đăng nhập nữa, nó vào trực tiếp luôn, tức là không cần đăng nhập, phải làm sao đây bạn? Giải đáp giúp mình với! cảm ơn bạn nhiều!
Tặng các bạn các FORM ĐĂNG NHẬP & FORM THAY ĐỔI USER, PASS
Chỉ là trò chơi màu mè thôi, chứ nếu người ta cài đặt Macro Setting ở chế độ High thì chương trình xem như ai vào nhà mình cũng OK.
Khi mở file, các bạn sẽ thấy một form hiện lên:
Tôi mặc định sẳn User và Pass rồi, chỉ bấm Nhập. Nhưng lưu ý, bạn chỉ được quyền sai User hoặc Pass trong vòng 4 lần, sau 4 lần sẽ tự động thoát file. Thú vị chứ nhỉ?
Và tại sheet có một nút lệnh để thay đổi User & Pass, ở đó bạn chỉ cần làm đúng các yêu cầu trong form này:
thì các bạn sẽ được thay đổi quyền đăng nhập.
Để làm khó tí xíu cho các bạn tôi đã đặt VBA pass là: HoangTrongNghia
Riêng Password đã đăng nhập thì các bạn tự tìm trong file xem nó ở đâu nhé!
Tặng các bạn các FORM ĐĂNG NHẬP & FORM THAY ĐỔI USER, PASS
Chỉ là trò chơi màu mè thôi, chứ nếu người ta cài đặt Macro Setting ở chế độ High thì chương trình xem như ai vào nhà mình cũng OK.
Khi mở file, các bạn sẽ thấy một form hiện lên:
Tôi mặc định sẳn User và Pass rồi, chỉ bấm Nhập. Nhưng lưu ý, bạn chỉ được quyền sai User hoặc Pass trong vòng 4 lần, sau 4 lần sẽ tự động thoát file. Thú vị chứ nhỉ?
Và tại sheet có một nút lệnh để thay đổi User & Pass, ở đó bạn chỉ cần làm đúng các yêu cầu trong form này:
thì các bạn sẽ được thay đổi quyền đăng nhập.
Để làm khó tí xíu cho các bạn tôi đã đặt VBA pass là: HoangTrongNghia
Riêng Password đã đăng nhập thì các bạn tự tìm trong file xem nó ở đâu nhé!
anh ơi có cách nào giúp em với. Em dùng file của anh để sửa thành file của em rồi (Có nghĩa là em tận dụng Form đăng nhập của anh); em đã thay đổi mật khẩu nhưng bây giờ quên nên không sao mở được ra nữa. Anh giúp em với. Em cảm ơn rất nhiều.
Bài đã được tự động gộp:
anh ơi có cách nào giúp em với. Em dùng file của anh để sửa thành file của em rồi (Có nghĩa là em tận dụng Form đăng nhập của anh); em đã thay đổi mật khẩu nhưng bây giờ quên nên không sao mở được ra nữa. Anh giúp em với. Em cảm ơn rất nhiều.
Bạn cho mình hỏi tý
Code trong vba để khi đăng nhập không cho hiển thị workbook mà chỉ cho hiển thị form đăng nhập là gì vậy HoangTrongNghia?
Thanks nhé!
Bạn cho mình hỏi tý
Code trong vba để khi đăng nhập không cho hiển thị workbook mà chỉ cho hiển thị form đăng nhập là gì vậy HoangTrongNghia?
Cảm ơn nhé!
Hình như là thế hệ các thành viên từ năm 2012 trở về sau thường có tính ỷ lại, không bao giờ chịu động não để giải quyết vấn đề thì phải!
Tôi đã ghi quá rõ như sau:
Tại sao không đọc kỹ những gì người ta viết rồi mới hỏi nhỉ?
Có vài dòng thôi đâu có tràn lan đại hải đâu mà làm biếng đọc?
1)
Có nghĩa là không cần gõ vào bất cứ thứ gì hết, chỉ bấm nút Nhập khi mở file
2)
Khóa VBA tức là khóa Macro đó, mở VBA (Alt+F11) chọn vào tên file và gõ password ở trên vào để mở khóa.
3)
Cái quan trọng là mở được VBA để xem, mà mở được VBA rồi thì không lý do gì mà không thể tìm ra Password mà tôi đã để ở đâu đó trong sheet để thay đổi pass mới phải nhập vô pass này trước.
Vậy sao không thử tìm trong code của UserForm?
Cả 2 Form đều có thủ tục này:
Mã:
Private Sub UserForm_Initialize()
Workbooks(ThisWorkbook.Name).Activate
Application.EnableCancelKey = xlErrorHandler
Application.Visible = False
Dim hWnd As Long
On Error Resume Next
hWnd = FindWindow("ThunderDFrame", Me.Caption)
SetWindowLong hWnd, -16, &H84080080
Me.Height = 130
[COLOR=#0000cd][B]Usr [/B][/COLOR][COLOR=#ff0000][B]= Nguon.[H2].Value
[/B][/COLOR][COLOR=#0000cd][B]Pwd [/B][/COLOR][COLOR=#ff0000][B]= Nguon.[H3].Value[/B][/COLOR]
txtUser = Usr
With txtPassword
.SetFocus: .SelStart = 0: .SelLength = Len(.Text)
End With
End Sub
Mã:
Private Sub UserForm_Initialize()
Dim hWnd As Long
On Error Resume Next
hWnd = FindWindow("ThunderDFrame", Me.Caption)
SetWindowLong hWnd, -16, &H84080080
Me.Height = 120
[COLOR=#0000cd][B]Usr [/B][/COLOR][COLOR=#ff0000][B]= Nguon.[H2].Value
[/B][/COLOR][COLOR=#0000cd][B]Pwd [/B][/COLOR][COLOR=#ff0000][B]= Nguon.[H3].Value[/B][/COLOR]
txtUser.Text = Usr
txtPassword.SetFocus
End Sub
Thế thì giá trị của User & Password nó nằm trong sheet NGUON cell H2 & H3 chứ còn gì nữa!
Cái sheet mà các bạn nhìn thấy không có Sheet Tab để chọn sheet, thì các bạn vào Tool > Options > View và check vào Sheet Tabs thôi!
Khi đã mở sheet ra và không thấy cái sheet NGUON nào cả thì phải hiểu là nó bị ẩn rồi chứ gì! Vậy phải cho nó hiện lên chứ còn gì nữa!
Vào VBA chọn vào tên sheet Nguon và chọn thuộc tính (Properties) của sheet Visible là -1 - xlSheetVisible để cho nó hiện lên!
Bây giờ các bạn chỉ còn việc tìm cột H của nó nằm ở đâu mà lấy cái gì đó mà các bạn cần tìm thôi. Chẳng lẽ tới đây mà các bạn cũng không làm được thì thôi, các bạn đừng chơi cái này nữa!
Tôi làm khó các bạn (chỉ tí xíu thôi) để các bạn tự mày mò, nghiên cứu thêm, vận dụng kiến thức của các bạn sẳn có để thao tác trên file này, thế mà ...
té ra em củng thông minh tạo không hiểu Pwd = Nguon.[H3].Value là gì đoán đoán chắc là = nguon.range("H3").value nên viết cái sub Debug.print nguon.range("H3").value là ra pass. thank anh nghĩa nhé, cái uf này em đang cần
Các anh cho em hỏi. tạo được một file có phân quyền đăng nhập rồi. mỗi người một Use, nhưng làm thế nào để nhiều người có thể truy cập trên cùng file đó. Sửa lưu giữ liệu.
Tặng các bạn các FORM ĐĂNG NHẬP & FORM THAY ĐỔI USER, PASS
Chỉ là trò chơi màu mè thôi, chứ nếu người ta cài đặt Macro Setting ở chế độ High thì chương trình xem như ai vào nhà mình cũng OK.
Khi mở file, các bạn sẽ thấy một form hiện lên:
Tôi mặc định sẳn User và Pass rồi, chỉ bấm Nhập. Nhưng lưu ý, bạn chỉ được quyền sai User hoặc Pass trong vòng 4 lần, sau 4 lần sẽ tự động thoát file. Thú vị chứ nhỉ?
Và tại sheet có một nút lệnh để thay đổi User & Pass, ở đó bạn chỉ cần làm đúng các yêu cầu trong form này:
thì các bạn sẽ được thay đổi quyền đăng nhập.
Để làm khó tí xíu cho các bạn tôi đã đặt VBA pass là: HoangTrongNghia
Riêng Password đã đăng nhập thì các bạn tự tìm trong file xem nó ở đâu nhé!
Tặng các bạn các FORM ĐĂNG NHẬP & FORM THAY ĐỔI USER, PASS
Chỉ là trò chơi màu mè thôi, chứ nếu người ta cài đặt Macro Setting ở chế độ High thì chương trình xem như ai vào nhà mình cũng OK.
Khi mở file, các bạn sẽ thấy một form hiện lên:
Tôi mặc định sẳn User và Pass rồi, chỉ bấm Nhập. Nhưng lưu ý, bạn chỉ được quyền sai User hoặc Pass trong vòng 4 lần, sau 4 lần sẽ tự động thoát file. Thú vị chứ nhỉ?
Và tại sheet có một nút lệnh để thay đổi User & Pass, ở đó bạn chỉ cần làm đúng các yêu cầu trong form này:
thì các bạn sẽ được thay đổi quyền đăng nhập.
Để làm khó tí xíu cho các bạn tôi đã đặt VBA pass là: HoangTrongNghia
Riêng Password đã đăng nhập thì các bạn tự tìm trong file xem nó ở đâu nhé!
Tặng các bạn các FORM ĐĂNG NHẬP & FORM THAY ĐỔI USER, PASS
Chỉ là trò chơi màu mè thôi, chứ nếu người ta cài đặt Macro Setting ở chế độ High thì chương trình xem như ai vào nhà mình cũng OK.
Khi mở file, các bạn sẽ thấy một form hiện lên:
Tôi mặc định sẳn User và Pass rồi, chỉ bấm Nhập. Nhưng lưu ý, bạn chỉ được quyền sai User hoặc Pass trong vòng 4 lần, sau 4 lần sẽ tự động thoát file. Thú vị chứ nhỉ?
Và tại sheet có một nút lệnh để thay đổi User & Pass, ở đó bạn chỉ cần làm đúng các yêu cầu trong form này:
thì các bạn sẽ được thay đổi quyền đăng nhập.
Để làm khó tí xíu cho các bạn tôi đã đặt VBA pass là: HoangTrongNghia
Riêng Password đã đăng nhập thì các bạn tự tìm trong file xem nó ở đâu nhé!
Tặng các bạn các FORM ĐĂNG NHẬP & FORM THAY ĐỔI USER, PASS
Chỉ là trò chơi màu mè thôi, chứ nếu người ta cài đặt Macro Setting ở chế độ High thì chương trình xem như ai vào nhà mình cũng OK.
Khi mở file, các bạn sẽ thấy một form hiện lên:
Tôi mặc định sẳn User và Pass rồi, chỉ bấm Nhập. Nhưng lưu ý, bạn chỉ được quyền sai User hoặc Pass trong vòng 4 lần, sau 4 lần sẽ tự động thoát file. Thú vị chứ nhỉ?
Và tại sheet có một nút lệnh để thay đổi User & Pass, ở đó bạn chỉ cần làm đúng các yêu cầu trong form này:
thì các bạn sẽ được thay đổi quyền đăng nhập.
Để làm khó tí xíu cho các bạn tôi đã đặt VBA pass là: HoangTrongNghia
Riêng Password đã đăng nhập thì các bạn tự tìm trong file xem nó ở đâu nhé!
@ducky2301 ơi mình muốn file excel của mình chỉ được sử dụng ở một số máy tính nhất định, nên thêm 1 cột điều kiện nữa là dò tìm "Computer Name" của máy, nếu đúng thì mới có thể mở file được không?
Em chào các anh chị.
Các anh chị cho em hỏi ké. Em có một đoạn code nhỏ nhỏ như file đính kèm. Anh chị cho em hỏi vì sao khi e để mảng arr kiểu byte thì đoạn code không thể chạy đến hoàn thiện được, còn để kiểu khác như integer thì lại chạy được.
Em xin cảm ơn.
Đoạn code thế này ạ:
Sub v()
Dim arr(1 To 1, 1 To 5) As Byte
Dim i As Byte
For i = 1 To 5
arr(1, i) = i
MsgBox "dkf: " & arr(1, i)
Next i
Range("A1").Resize(1, 5) = arr
End Sub
With login
.Height = ActiveWindow.Height + 150
.Width = ActiveWindow.Width
End With Anh chỉ cần thay đoạn code trên bằng đoạn code sau là ok:
With login
ActiveWindow.DisplayWorkbookTabs = False
End With