Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Macro para insertar filas según número en celda

4,281 views
Skip to first unread message

Osorio

unread,
Jan 9, 2011, 1:07:08 PM1/9/11
to
Buenas tardes, por favor si alguien sabe como hacer para que con una
macro que se ejecute con un boton, pueda insertar el numero de filas
que se indique en una celda específica. esto es que si yo digito el la
celda B8 el número 4, se inserten siempre debajo de la fila 10, 4
filas correspondientes al valor en B8. Muchas gracias.

Otra opción puede ser mostrar el número de filas, las cuales estarían
previamente ocultas, según el valor de la celda B8.

Emilio

unread,
Jan 9, 2011, 1:11:00 PM1/9/11
to
--------------------------------------------------------------------------
�Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvi� o no la respuesta dada. Muchas gracias
--------------------------------------------------------------------------
Hola!
te sugiero que grabes una macro mientras realizas el proceso, luego solo
tienes que ver lo que ha grabado Excel para aplicarlo, modificandolo si
fuera necesario, a tu bot�n.

Saludos a todos desde Huelva

Emilio [MS-MVP Access 2006/11]
miliuco56 ALGARROBA hotmail PUNTO com
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio

"Osorio" <ubeo...@gmail.com> escribi� en el mensaje de noticias
news:d5f35020-bc23-4d8a...@v12g2000vbx.googlegroups.com...


Buenas tardes, por favor si alguien sabe como hacer para que con una
macro que se ejecute con un boton, pueda insertar el numero de filas

que se indique en una celda espec�fica. esto es que si yo digito el la
celda B8 el n�mero 4, se inserten siempre debajo de la fila 10, 4


filas correspondientes al valor en B8. Muchas gracias.

Otra opci�n puede ser mostrar el n�mero de filas, las cuales estar�an
previamente ocultas, seg�n el valor de la celda B8.

__________ Information from ESET Smart Security, version of virus signature
database 5771 (20110109) __________

The message was checked by ESET Smart Security.

http://www.eset.com


__________ Information from ESET Smart Security, version of virus signature database 5771 (20110109) __________

The message was checked by ESET Smart Security.

http://www.eset.com

Message has been deleted

De_Corando.

unread,
Jan 21, 2011, 5:50:43 PM1/21/11
to
Buenas Tardes Osorio

Aqui Dejo ejemplo de Macros para Insertar Columnas o Filas
Puedes Ver o Descargar Caso practico del mismo en :
http://www.box.net/shared/g084thava2


PARA FILAS


Sub Fila()
Dim UFila As Long, PFila As Long
With ActiveSheet
UFila = .Cells(.Rows.Count, 1).End(xlUp).Row
Nf = Application.InputBox( _
"Despues del Renglon o Fila Num : " & vbCrLf & vbCrLf & "
-------- " & ActiveCell.Row & " -------- " & vbCrLf & vbCrLf & "O
Diga Despues del Renglon o Fila Num: ", "UBICACION de INSERTAR")
If Nf = Empty Then
Nf = ActiveCell.Row
End If
PFila = Application.InputBox( _
"Escriba Cantidad de Renglones o Filas a INSERTAR" &
vbCrLf & "Despues del Renglon o Fila Num " & Nf, "CANTIDAD A
INSERTAR")
If PFila = vbCancel Then
Exit Sub
End If
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With


For i = UFila To PFila
.Rows(i + Nf).Insert
Next i
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End With
End Sub


PARA COLUMNAS


Sub Columna()
Dim UColum As Long, PColum As Long
With ActiveSheet
UColum = .Cells(.Columns.Count, 1).End(xlUp).Column
Nc = Application.InputBox( _
"Despues de la Columna : " & vbCrLf & vbCrLf & "
-------- " & ActiveCell.Column & " -------- " & vbCrLf & vbCrLf &
"O
Diga Despues de la Columna Num: ", "UBICACION de INSERTAR")
If Nc = Empty Then
Nc = ActiveCell.Column
End If
PColum = Application.InputBox( _
"Escriba Cantidad de Columnas a INSERTAR" & vbCrLf &
"Despues de la Columna Num " & Nc, "CANTIDAD A INSERTAR")
If PColum = vbCancel Then
Exit Sub
End If
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With


For x = UColum To PColum
.Columns(x + Nc).Insert
Next x
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End With
End Sub


Espero sirva de ayuda
Envia Comentarios


Corando

Juan Español

unread,
Jan 28, 2011, 4:41:57 AM1/28/11
to
Sin ánimo de criticar, De_Corando pero ...
¿porqué defines UFila, PFila y no Nf?
¿Porqué no adviertes que la macro de insertar filas no funciona tal como
está diseñada, a menos que la columna 1 esté
vacía?

Yo sugeriría una pequeña modificación de TU macro, + o - así:

Sub InsFila()
Dim PFila, Nf As Long
With ActiveSheet
Nf = Application.InputBox("Despues del Renglon o Fila Num : " _


& vbCrLf & vbCrLf & " -------- " & ActiveCell.Row & " -------- " &

_
vbCrLf & vbCrLf & "O Diga Despues del Renglon o Fila Num: " _


, "UBICACION de INSERTAR")
If Nf = Empty Then Nf = ActiveCell.Row

PFila = Application.InputBox( _
"Escriba Cantidad de Renglones o Filas a INSERTAR" & vbCrLf & _


"Despues del Renglon o Fila Num " & Nf, "CANTIDAD A INSERTAR ")

If PFila = vbCancel Then Exit Sub

With Application


.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With

For i = 1 To PFila


.Rows(i + Nf).Insert
Next i
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End With
End Sub

Saludos.-

"De_Corando." <cora...@gmail.com> escribió en el mensaje de noticias
news:70fe6202-230b-487c...@i18g2000yqn.googlegroups.com...

> .Columns(i + Nc).Insert

Juan Español

unread,
Jan 28, 2011, 5:33:30 AM1/28/11
to
Perdón donde dice:

Dim PFila, Nf As Long

Debería poner:
Dim PFila, Nf As Long, i As Integer

(Por si, Option Explicit)

"Juan Español" <este...@micorreo.com> escribió en el mensaje de noticias
news:ihu4b6$rj6$1...@speranza.aioe.org...

De_Corando.

unread,
Feb 19, 2011, 8:21:16 PM2/19/11
to
buenas noches !!

Es buena la sugerencia !!!

CachoR

unread,
Feb 20, 2011, 2:33:12 PM2/20/11
to
Hola! Osorio (y amigos). Otra alternativa sería:

a) Haz clic con el botón derecho de tu ratón en la solapa de la hoja
en la que quieres el efecto y selecciona "Ver código".

b) En la ventana que se te abrirá, copia y pega el siguiente código:
________________________

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$B$8" Or Not IsNumeric([b8]) Then Exit Sub
If [b8] <> Int([b8]) Then Exit Sub
Rows("11:" & 10 + [b8]).Insert Shift:=xlDown
End Sub
________________________

c) Cierra todas las ventanas del ambiente Visual Basic for Application
(VBA) en el que te encuentras y retorna al Excel.

A partir de entonces, cada vez que coloques un número entero en la
celda B8, obtendrás el efecto pedido.
Saludos, Cacho.

Feg

unread,
May 7, 2014, 12:04:27 PM5/7/14
to
Buenas tardes Coronado,

Estaba probando la macro para insertar filas, sin embargo, no me funciona al intentar agregar 2 filas. Usted podría explicarme a qué se debe esto y se podría resolver?

De antemano le agradezco por su ayuda.

Saludos,

davs...@gmail.com

unread,
Jun 5, 2017, 6:05:30 AM6/5/17
to
Funciona perfectamente pero podría tambien arrastrar las formulas de la fila que copio, a las nuevas filas? Que la copia de filas sea automaticamente igual que la fila copiada, formulas, caracteristicas de celda, etc...En este caso ejemplo, las formulas de la fila 10. Seria posible? Muchas gracias
0 new messages