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

09/01/2011 - 19:07 por Osorio | Informe spam
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.

Preguntas similare

Leer las respuestas

#1 Emilio
09/01/2011 - 19:11 | Informe spam
¡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" escribió en el mensaje de noticias
news:
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
Respuesta Responder a este mensaje
#2 De_Corando.
21/01/2011 - 23:39 | Informe spam
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 & "
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 & "
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(i + 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
Respuesta Responder a este mensaje
#3 De_Corando.
21/01/2011 - 23:50 | Informe spam
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 & "
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 & "
"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
Respuesta Responder a este mensaje
#4 Juan Español
28/01/2011 - 10:41 | Informe spam
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." escribió en el mensaje de noticias
news:
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 & "
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 & "
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(i + 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
Respuesta Responder a este mensaje
#5 Juan Español
28/01/2011 - 11:33 | Informe spam
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" escribió en el mensaje de noticias
news:ihu4b6$rj6$
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida