Bloquear celdas menos una después de registro
¿Cómo están?, tengo una macro que me pide una contraseña al abrir el libro y si pongo correctamente la contraseña me deja acceder al libro y lo registra en una hoja, con el nombre de usuario de PC y serie de disco duro. Hasta aquí todo perfecto pero me gustaría que este libro solo se pueda usar en una sola computadora, al dar la contraseña lo podrían utilizar en N computadoras ya que se seguiría registrando, a lo cual se me ocurrió bloquear todas las demás celdas menos la que tiene el primer registro y en caso de que intenten registrar otra maquina el libro se cierre. La macro es la siguiente :
Dim CerrarFormulario As Boolean
Private Sub UserForm_QueryClose(Cancel As Integer, ModoCerrar As Integer)
'EVITO QUE EL USUARIO DE A LA (X) DEL FORMULARIO PARA CERRARLO Y OBLIGO A QUE INSERTE UNA CONTRASEÑA.
If CerrarFormulario = False Then Cancel = True
End Sub
Private Sub txtPassword_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim SerialHD As String
Dim UltRegistro As Integer
If KeyCode = 13 Then
With CreateObject("Scripting.FileSystemObject")
SerialHD = Hex(.Drives.Item("C:").SerialNumber)
End With
UltRegistro = Hoja2.Range("B" & Rows.Count).End(xlUp).Row
'EL USUARIO A PULSADO LA TECLA ENTER
If Len(txtPassword) > 0 Then
If txtPassword = "Dr4gonnike01" Then
msg = MsgBox("¿Desea insertar al siguiente Usuario al listado de Autorizados?" & vbCrLf & vbCrLf & "Usuario: " & SerialHD, vbQuestion + vbYesNo, "Autorizaciones")
If msg = vbYes Then
If UltRegistro > 2 Then
Hoja2.Range("B" & UltRegistro + 1) = SerialHD 'SERIAL DEL DISCO DURO
Hoja2.Range("C" & UltRegistro + 1) = Environ("username") 'NOMBRE DE USUARIO
Else
Hoja2.Range("B3") = SerialHD 'SERIAL DEL DISCO DURO
Hoja2.Range("C3") = Environ("username") 'NOMBRE DE USUARIO
End If
CerrarFormulario = True
Unload Me
Else
CerrarFormulario = True
Unload Me 'CIERRO EL FORMULARIO
End If
Else
CerrarFormulario = True
Unload Me 'CIERRO EL FORMULARIO
ThisWorkbook.Close False 'CIERRO EL PROGRAMA SIN GUARDAR LOS CAMBIOS
End If
End If
End If
End Sub