Problema al insertar filas en una tabla que contiene celdas bloqueadas.

Para: Dante

Hola Dante, tenga un feliz fin de semana.

Estoy creando una base de dato con diseño tabla en Excel, la cual algunas columnas contienen formulas ("G", "I", "L", "AF" ), que no deseo que otras personas editen o borren al momento de cargar actuaciones de jugadores de juego de Béisbol; otras columnas ("C", "D", "E", "F ") contienen menú desplegable. Sin embargo al estar protegida la hoja, se bloquea la automatización del rango dinámico de la tabla. Esto dificulta la carga del nuevo registro por no contener las formulas y los menú desplegable la nueva fila.

¿Es posible una macro para solventar este problema?

Saludos.

Respuesta
1

No bloquees toda la hoja, solo bloquea tus columnas ("G", "I", "L", "AF" ).

1 respuesta más de otro experto

Respuesta
1

Prueba con la siguiente macro, lo que hace es insertar un nuevo registro a tu tabla.

Cambia "abc" por el password que tiene tu hoja protegida

Sub Macro10()
'Por.Dante Amor
'
    ActiveSheet.Unprotect "abc"
    u = Range("A" & Rows.Count).End(xlUp).Row
    Range("A" & u & ":AF" & u).AutoFill _
        Destination:=Range("A" & u & ":AF" & u + 1), Type:=xlFillDefault
    ActiveSheet.Protect "abc"
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Hola Dante, 

Amigo, con la macro indicada tengo error por falta de definición de  la variable u. Una vez que yo defino la variable u. Mando a ejecutar la macro y me genera el problema siguiente:

- Agregas filas a la tabla sin parar .............!!!!

Saludos

¿Y cómo defines la variable?

¿Qué otros cambios le haces a la macro?

¿Qué mensaje de error te aparece?

¿En qué línea de la macro se detiene?

Sin declarar la variable tengo esto

¿Y cómo defines la variable?

¿Y luego qué haces?

Se agregan filas nuevas en la tabla hasta el final de la hoja y las celdas de la columna A, correspondiente al campo fecha se incrementa los días automáticamente es decir:

12-05-2017

13-05-2017

14-05-2017

.

.

.

.

Así sucesivamente, hasta el final de la hoja.

La variable u la defino así

Dim u As Long

Pero sigues sin contestarme esto:

¿Y cómo defines la variable?

Envíame tu archivo con la macro y me explicas qué es lo que necesitas que haga la macro, es decir, con ejemplos me explicas qué tienes y qué esperas como resultado después de ejecutar la macro

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Eduardo Gimenez” y el título de esta pregunta.

  H  o  l  a:

En los eventos de la hoja tienes esto:

Private Sub Worksheet_Change(ByVal Target As Range)

    Call Módulo2.Macro10

End Sub

Eso significa que por cada cambio que realices en la hoja, se va a ejecutar la macro, por eso se vuelve un ciclo, es decir, ejecutas la macro10, la macro10 inserta una fila, se activa el evento, el evento llama a la macro10, la macro10 vuelve a insertar una fila, nuevamente se activa el evento, vuelve a llamar la macro10, y así hasta que se llena la hoja.

La macro que te envié es para que la pongas en un módulo, pero no la debes ejecutar desde el evento change. Cada vez que necesites un registro nuevo ejecutas la macro10.

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

.

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas