Lo que pasa que tengo por ejemplo
en la celda A1 "Juan Perez" y en la celda adyacente (o sea en la B1) el número 5. y debajo de estas celdas otro nombre en la A2 y otro número en la B2. Asi que necesito que me inserte debajo de A1 exactamente el número de filas que señala en la columna B1 (para este caso serían 5) y despues en el registro siguiente inserte también el número de líneas que tiene en la celda de junto. En palabras más simples Necesito una macro que me inserte celdas hacia abajo de acuerdo a un número dado en una celda. Espero me puedan ayudar, muchas gracias
Copyright © 2024 Q2A.ES - All rights reserved.
Answers & Comments
Verified answer
En la hoja donde quieres realizar esto:
a) Oprime la tecla "Alt" y sin soltarla, oprimes la tecla "F8"
b) En el recuadro "Nombre de la Macro" escribes: Macro1 y seleccionas "Crear"
c) Te aparecerá el texto:
Sub Macro1()
End Sub
que reemplazarás por el siguiente:
Sub Macro1()
Dim Filas As Single, MiRango As Object
Filas = ActiveCell.Value2
Set MiRango = Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(Filas, 0))
MiRango.EntireRow.Insert ( xlShiftDown )
ActiveCell.Offset(0, -1).Copy Destination:=MiRango.Offset( -Filas, -1)
If MiRango.Cells(1, 1).Value2 <> "" Then
Selection.End(xlDown).Select
Else
MiRango.Cells(1, 1).Select
End If
Set MiRango = Nothing
End Sub
d) Cierras TOTALMENTE el Visual Basic; vuelves al EXCEL y pones en tu hoja en cuestión un botón de macro que ejecute "Macro1" (asumo que sabes hacerlo).
PROCEDIMIENTO: Es realmente muy sencillo pues:
>Pones el cursor sobre el "5" de "B1" y oprimes el botón de macro.
>Luego de crearse las 5 líneas el cursor quedará sobre el "antiguo" B2 (que ahora estará en "B7") esperando que vuelvas a oprimir el botón de macro...
Saludos
...