Añadir el número de filas que aparece en una celda.

Me gustaría que se añadieran X filas en función del valor X que de en una celda.

La celda en cuestión sería la celda B29 y las filas a añadir serían a partir de la fila 32 en adelante.

Si en dicha celda pongo un 7, quiero que se me añadan 7 celdas.

Se que con macros se podría hacer, pero no tengo ni idea de como ponerlos ni activarlos.

Agradecería que me lo pudieran explicar y adjuntar la macro

1 respuesta

Respuesta
1

Este código te servirá:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B29")) Is Nothing Then
fila = 33
numero = Range("b29").Value
Rows(fila & ":" & fila + numero - 1).Insert
End If
End Sub

Debes añadirlo a la hoja que te interese y cada vez que cambie el valor de la celda B29, añadirá despues de la fila 32 el número de celdas que hayas puesto en B29

Disculpa mi ignorancia, ese texto, ¿ dónde lo tengo que añadir? Entiendo que tengo que crear una macro pero no tengo ni idea de qué hacer. 

Tan solo se que está en la pestaña de desarrollador, voy a macros pongo el nombre que quiera la creo copio ese texto, lo guardo y ya no se que mas hacer.

Un saludo

¿Me podrías explicar, el procedimiento para crear la macro y que funcione?

Lo único que se es, Pestaña desarrollador, Macros, crear macro, copiar la macro que me has puesto y guardarla, a partir de ahí estoy perdido

Por otro lado he intentado utilizar la macro indagando un poco, Que no se si lo estaré haciendo bien, y al intentar ejecutar la macro me sale el siguiente mensaje : "El argumento no es opcional"

Te paso un enlace donde explica como lo tienes que hacer con imágenes

http://temporaexcel.blogspot.be/2012/03/automatizar-una-tarea-cuando-una-celda.html 

Básicamente es pegar la macro en la hoja en la cual se tienen que añadir las líneas de la celda B29

Muchas gracias, me ha servido de mucho. Lo que pasa es que si pongo 7 y luego pongo 3, en total me añade 10 y no solo 3 que es lo que quería. El  programa que me has pasado no resta por así decirlo. Dándole vueltas he agregado unas líneas y añadido que a demás de crear o quitar filas, éstas salgan con las celdas surbarrayadas. Adjunto código para si alguien tiene la misma duda en un futuro:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B29")) Is Nothing Then
fila = 33
numero = Range("b29").Value
numeroanterior = Range("C29").Value
Rows(fila & ":" & fila + numeroanterior - 1).Delete
Rows(fila & ":" & fila + numero - 1).Insert
Range("C29").Value = numero

j = 1
For i = fila To fila + numero - 1
Cells(i, 1) = j
Rows(i).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous
Selection.Borders(xlEdgeTop).LineStyle = xlContinuous
Selection.Borders(xlEdgeBottom).LineStyle = xlContinuous
Selection.Borders(xlEdgeRight).LineStyle = xlContinuous
Selection.Borders(xlInsideVertical).LineStyle = xlContinuous
Selection.Borders(xlInsideHorizontal).LineStyle = xlContinuous
j = j + 1
Next i
End If
End Sub

¿Y si quieres añadir 3 filas porque pones antes 7? :-P

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas