Buenas, es mi primer mensaje así que espero expresarme bien y que se me entienda.
El problema es el siguiente:
Tengo una plantilla excel en el servidor, cuando un usuario se conecta desde un php, copio la plantilla, relleno sus datos y se descarga.
Ahora me interesaría que unos rangos de celdas estén bloqueados, así que he estado buscando en temas relacionados y he probado varias formas pero no consigo hacerlo.
La macro para hacer esto la he puesto en la hoja correspondiente y el código es el siguiente:
Private Sub worksheet_activate()
ActiveSheet.Unprotect
Dim UltCol As Integer
Dim UltFil As Integer
UltCol = Cells(3, Cells.Columns.Count).End(xlToLeft).Column
UltFil = Range("A" & Rows.Count).End(xlUp).Row
letraCol = Letra_Columna(UltCol)
Range("A1:" & letraCol & "3").Locked = True
Range("A4:F" & UltFil).Locked = True
Range("A" & UltFil & ":" & letraCol & UltFil).Locked = True
ActiveSheet.Protect
End Sub
Function Letra_Columna(ByVal lCol As Long) As String
Letra_Columna = Replace$(Cells(1, lCol).Address(False, False), "1", "")
End Function[/CODE]
No he adjuntado la plantilla porque contiene datos confidenciales, pero si es necesario intentare eliminarlos y subirlo.
Un saludo y gracias de antemano.
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Buenas, es mi primer mensaje así que espero expresarme bien y que se me entienda.
El problema es el siguiente:
Tengo una plantilla excel en el servidor, cuando un usuario se conecta desde un php, copio la plantilla, relleno sus datos y se descarga.
Ahora me interesaría que unos rangos de celdas estén bloqueados, así que he estado buscando en temas relacionados y he probado varias formas pero no consigo hacerlo.
La macro para hacer esto la he puesto en la hoja correspondiente y el código es el siguiente:
No he adjuntado la plantilla porque contiene datos confidenciales, pero si es necesario intentare eliminarlos y subirlo.
Un saludo y gracias de antemano.