Estoy rellenando una hoja de cálculo con valores de base de datos. Las celdas con las que llené los datos, quiero que sean de solo lectura para los usuarios. ¿Cómo puedo hacer esto?¿Cómo hacer que las celdas sean de solo lectura en las hojas de cálculo?
Respuesta
Depende de cómo desee seleccionar el rango. Esta es solo una celda. Si vuelve a J1 y cambia el valor, debe recibir un aviso.
Private Sub Worksheet_Change(ByVal Target As Range)
Range("J1").Select
Selection.Locked = True
ActiveSheet.Protect Contents:=True
Range("K1").Select
End Sub
Las celdas no están bloqueadas hasta que la hoja de trabajo esté protegida. De forma predeterminada, todas las celdas están configuradas como Bloqueadas, por lo que deberá desbloquear las celdas que desea que los usuarios puedan cambiar.
This page ofrece un pequeño sub para proteger un rango de celdas.
Extracto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("H1:H10")) Is Nothing Then
Target.Offset(0, 1).Select
MsgBox "you may not enter that cell"
End If
End Sub
Para proteger H1:H10
. Cuando el usuario desea cambiar una celda dentro de H1:H10
, un mensaje de advertencia dice que la celda no se puede modificar y, en su lugar, se selecciona la celda vecina en la siguiente columna (I
).
Bastante seguro de que esta no es una respuesta adecuada – titus
En Excel puede ir al menú de Protección y especificar qué celdas requieren una contraseña para modificar. Puede especificar múltiples rangos también.
Espero que esto es lo que estabas buscando.
Puede intentar proteger las celdas. O puede codificarlo usted mismo utilizando un evento de selector SelectionChange ...:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Selection, Range("A24:A50")) Is Nothing Then
Range("B1").Select
End If
End Sub
En estas circunstancias a menudo encontrar la mejor manera es para bloquear la hoja, pero sólo para el usuario con el argumento UserInterfaceOnly
que todavía permite la interacción programática sin restricciones con la hoja.
ActiveSheet.ProtectUser InterfaceOnly:=True
Hay varios otros argumentos que se pueden establecer que todavía permite al usuario filtrar, ordenar, etc. si esto fuera necesario, el archivo de ayuda tiene una lista completa.
- 1. ¿Cómo hacer que las propiedades sean privadas?
- 2. ¿Cómo puedo evitar que las configuraciones del alcance de la aplicación sean de solo lectura?
- 3. Celdas de solo lectura de DataGridView
- 4. ¿Hay alguna manera de hacer que las celdas DataGridViewCheckBox sean más pequeñas?
- 5. ¿Cómo hacer solo las preferencias de lectura (rellenas mediante programación)?
- 6. administrador de Django: ¿cómo hacer que las "líneas" sean colapsables?
- 7. ¿Cómo puedo hacer que las texturas sean transparentes en OpenGL?
- 8. DataGridView: ¿Cómo hacer que algunas celdas sean no seleccionables?
- 9. Cómo seleccionar todas las celdas de una hoja de cálculo en Excel.Grango objeto de C#?
- 10. ¿Cómo puedo hacer que las cookies sean seguras (solo https) por defecto en los rieles?
- 11. Hacer que todos los campos de formulario sean de solo lectura en MVC
- 12. ¿Cómo hacer que las páginas php/html sean seguras/https?
- 13. Hacer que las clases de servicio de primavera sean definitivas?
- 14. ¿Herramienta para descifrar hojas de cálculo?
- 15. Colores de fondo de varias celdas en hojas de cálculo de Excel
- 16. Exportación de hojas de cálculo de Excel a xml con celdas en blanco
- 17. ¿Cómo hacer que las propiedades de NSString de NSManagedObject sean con "copiar" en lugar de "retener"?
- 18. WPF DataGrid: hacer que las células de sólo lectura
- 19. ¿Cómo puedo acceder a las hojas de cálculo en formato de documento abierto (.ods) con java?
- 20. ¿Cómo hacer un repositorio de git de solo lectura?
- 21. ¿Cómo hacer que mis aplicaciones sean "personalizables"?
- 22. Subversion: ¿es posible deshabilitar todas las confirmaciones y hacer que el repositorio solo sea de lectura?
- 23. ¿Cómo puedo hacer que las propiedades de los archivos de propiedades sean obligatorias en Spring?
- 24. ¿Cómo puedo hacer que las devoluciones de eventos en mis formularios de win sean seguras?
- 25. Delphi: ¿Cómo hacer que los textos de las celdas en el centro de TStringGrid estén alineados?
- 26. ¿Cómo hacer un archivo de "solo lectura"?
- 27. Solo lectura o deshabilitado las etiquetas jquery
- 28. Cómo hacer que las barras de desplazamiento de listview sean visibles todo el tiempo
- 29. ¿Cómo puedo acceder a las hojas de cálculo públicas con la API de Google Docs C#?
- 30. ¿Cómo puedo hacer las combinaciones de git de tal manera que sean fáciles de revertir?
Si quiero hacer que esto funcione para un eg de células sonoras, ¿Cómo puedo hacer eso?. Por mi falta de conocimiento, soy nuevo en la programación. – gizgok
Rango ("A1: K47") – JeffO
Esto hace que todas las celdas sean de solo lectura ... Estoy cometiendo un error. Private Sub Worksheet_Change (CellRange como secuencia) Rango (CellRange) .Elija Selection.Locked = True Contenido ActiveSheet.Protect: = True End Sub – gizgok