Les galetes ens ajuden a lliurar els nostres serveis. En utilitzar els nostres serveis, accepteu el nostre ús de cookies.
Consell: altres idiomes es tradueixen en Google. Pots visitar el English versió d'aquest enllaç.
Iniciar Sessió
x
or
x
x
Registre
x

or

Com bloquejar o protegir les cel·les després de l'entrada o entrada de dades a Excel?

Suposant que teniu un full de càlcul i només un determinat rang de cel·les en blanc necessita l'entrada de dades i, després d'haver acabat d'introduir dades, cal que les cel·les quedin bloquejades automàticament per evitar-ne canvis. Com es pot fer per aconseguir-ho? Aquest article us pot ajudar.

Bloqueja o protegeix les cel·les després de l'entrada de dades o d'entrada amb codi VBA


Bloqueja o protegeix les cel·les després de l'entrada de dades o d'entrada amb codi VBA

Per exemple, el cert rang de cel·les en blanc és A1: F8. Feu el següent per bloquejar aquestes cel·les després de l'entrada de dades a Excel.

1. Desbloca primer aquest rang, seleccioneu les cel·les i feu clic amb el botó secundari del ratolí i, a continuació, trieu Format de cel·les al menú del botó dret, i al menú contextual Format de cel·les quadre de diàleg, desmarcant el quadre de diàleg bloquejat caixa sota el protecció pestanya i, finalment, feu clic al botó OK botó Mostra la captura de pantalla:

2. clic Crítica > Protegeix el full. I especifiqueu una contrasenya per protegir aquest full de càlcul.

3. Feu clic amb el botó dret a la fitxa del full, seleccioneu Veure codi des del menú del botó dret. A continuació, copieu i enganxeu el codi VBA de sota a la finestra del codi. Mostra la captura de pantalla:

Codi VBA: Bloqueja o protegeix les cel·les després de l'entrada o entrada de dades

Dim mRg As Range
Dim mStr As String

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("A1:F8"), Target) Is Nothing Then
    Set mRg = Target.Item(1)
    mStr = mRg.Value
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim xRg As Range
    On Error Resume Next
    Set xRg = Intersect(Range("A1:F8"), Target)
    If xRg Is Nothing Then Exit Sub
    Target.Worksheet.Unprotect Password:="123"
    If xRg.Value <> mStr Then xRg.Locked = True
    Target.Worksheet.Protect Password:="123" 
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("A1:F8"), Target) Is Nothing Then
    Set mRg = Target.Item(1)
     mStr = mRg.Value
End If
End Sub

Nota: En el codi, "A1: F8" és el rang que necessiteu per introduir dades; i "123" és la contrasenya d'aquest full de treball protegit. Canvieu-los com necessiteu.

4. Premeu Alt + Q tecles simultàniament per tancar la Microsoft Visual Basic per a aplicacions finestra.

Després d'acabar d'introduir dades a les cel·les del rang A1: F8, es bloquejaran automàticament. I obtindreu un quadre de diàleg ràpid si intenteu canviar qualsevol contingut de la cel·la d'aquest rang. Mostra la captura de pantalla:


Pestanya d'Office - Navegació amb pestanyes, edició i gestió de llibres en Excel:

La pestanya Office mostra la interfície de pestanyes que es veu als navegadors web com ara Google Chrome, versions noves d'Internet Explorer i Firefox a Microsoft Excel. Serà una eina que estalviarà temps i serà irreemplaçable en el vostre treball. Vegeu a continuació demo:

Feu clic per obtenir una prova gratuïta de la pestanya d'Office.

Pestanya d&#39;Office per a Excel


Articles relacionats:



Eines de productivitat recomanades

Pestanya d'Office

estrella d&#39;or1 Porteu les pestanyes pràctiques a l'Excel i a un altre programari d'Office, igual que Chrome, Firefox i el nou Internet Explorer.

Kutools for Excel

estrella d&#39;or1 Increïble! Incrementeu la productivitat en 5 minuts. No necessites cap habilitat especial, estalvieu dues hores cada dia.

estrella d&#39;or1 300 Noves característiques per a Excel, Excel molt fàcil i potent:

  • Combina cel·les / files / columnes sense perdre dades.
  • Combina i consolida diverses fulles i llibres.
  • Comparar intervals, copiar diversos rangs, convertir text a data, unitat i conversió de divises.
  • Compte per colors, subtotals de paginació, classificació avançada i filtre súper,
  • Més Seleccioneu / Insereix / Suprimeix / Text / Format / Enllaç / Comentari / Llibres / Eines de full de càlcul ...

Tret de pantalla de Kutools per a Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    jackie · 1 years ago
    Hi
    editing the code is there a way i can get it to lock all the cells in the range after data has been entered into one cell within that range ? so they can only enter data into one cell within the range not multiple.


    thank you
    • To post as a guest, your comment is unpublished.
      crystal · 11 months ago
      Dear Jackie,
      The below VBA code can help you solve the problem.

      Private Sub Worksheet_Change(ByVal Target As Range)
      Dim xRg As Range
      Dim xSRg As Range
      On Error Resume Next
      Set xSRg = Range("A1:F8")
      Set xRg = Intersect(xSRg, Target)
      If xRg Is Nothing Then Exit Sub
      Target.Worksheet.Unprotect Password:="123"
      xSRg.Locked = True
      Target.Worksheet.Protect Password:="123"
      End Sub
  • To post as a guest, your comment is unpublished.
    jackie · 1 years ago
    Hi


    i want it to lock the range after entry into one cell in the range please can you advise how i need to edit this to do this thank you
  • To post as a guest, your comment is unpublished.
    oh yeah · 1 years ago
    is it have to coding?
  • To post as a guest, your comment is unpublished.
    Palash Somani · 1 years ago
    cells are not even editable...what went wrong don't understand pls help
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Good Day,
      At first, you need to set specified cells to Unlocked for editig, and then protect the worksheet. And finally apply the VBA script.
  • To post as a guest, your comment is unpublished.
    Akshay · 1 years ago
    Hi,
    Sir i want to lock after one time input data !
    Like i am following one customer and write status , then any more employee cant edit or modify that !
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Good Day,
      Method in this post can also help you to solve this problem.