Insertar "n" Filas en base de Datos

14/05/2009 - 21:27 por HMS | Informe spam
Hola a tod@s.
En ocasiones anteriores he recibido muchos aportes sobre el tema de
"insertar filas" en una base de Datos.
De hecho adjunto una macro que KL, muy amablemente aportó al grupo y
que funciona muy bien !, y la cual pondré al final de este correo,
para las personas que la necesiten.
Sin embargo, existe alguna forma "manual", con fórmulas o macro, en la
que se le pueda indicar a EXCEL, dos parámetros, diferentes para hacer
el proceso de Insertar Filas.
PARAMETROS
1. A partir de que Fila, se necesita que EXCEL empiece hacer insertos
de FILAS.
2. Cuántas Filas en BLANCO se necesita Insertar.
Por ejemplo si se tiene una base de datos con 100 datos, y 10
Columnas.
Qusiera que de "fila de por medio", EXCEL, inserte 5 "Filas en
Blanco".
De antemano Gracias
HMS


MACRO Insertar Filas en base de Datos
Con esta macro, se define a partir de qué FILA, uno necesita que EXCEL
haga "inserciones", de filas en blanco a la base de datos.
La macro es la siguiente:

Sub test()
Dim UFila As Long, PFila As Long
With ActiveSheet
UFila = .Cells(.Rows.Count, 1).End(xlUp).Row
PFila = Application.InputBox( _
"Introduce el numero de la fila inicial")
If PFila > UFila Or PFila = 0 Then Exit Sub
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
For i = UFila To PFila Step -6
.Rows(i + 1).Insert
Next i
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End With
End Sub

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
15/05/2009 - 05:35 | Informe spam
hola, tocayo !

en la macro que expones existe un "parametro" que no has comentado y podria ser importante
la insercion de filas hace un "Step -6", asi que... hay algun "secreto o detalle" al respecto ?

saludos,
hector.

__ OP __
En ocasiones anteriores he recibido muchos aportes sobre el tema de "insertar filas" en una base de Datos.
De hecho adjunto una macro que KL, muy amablemente aporto al grupo y que funciona muy bien !
y la cual pondre al final de este correo, para las personas que la necesiten.
Sin embargo, existe alguna forma "manual", con formulas o macro, en la que se le pueda indicar a EXCEL
dos parametros diferentes para hacer el proceso de Insertar Filas.
PARAMETROS
1. A partir de que Fila, se necesita que EXCEL empiece hacer insertos de FILAS.
2. Cuántas Filas en BLANCO se necesita Insertar.
Por ejemplo si se tiene una base de datos con 100 datos, y 10 Columnas.
Qusiera que de "fila de por medio", EXCEL, inserte 5 "Filas en Blanco".
De antemano Gracias
HMS

MACRO Insertar Filas en base de Datos
Con esta macro, se define a partir de que FILA, uno necesita que EXCEL haga "inserciones", de filas en blanco a la base de datos.
La macro es la siguiente:

Sub test()
Dim UFila As Long, PFila As Long
With ActiveSheet
UFila = .Cells(.Rows.Count, 1).End(xlUp).Row
PFila = Application.InputBox( _
"Introduce el numero de la fila inicial")
If PFila > UFila Or PFila = 0 Then Exit Sub
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
For i = UFila To PFila Step -6
.Rows(i + 1).Insert
Next i
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End With
End Sub
#2 Corando.
15/05/2009 - 12:34 | Informe spam
Solo copia el macro tiene algunas modificaciones,
como comenta Hector Miguel, le he borrado algunos pasos.

Sub test()
Dim UFila As Long, PFila As Long
With ActiveSheet
UFila = .Cells(.Rows.Count, 1).End(xlUp).Row
Nf = Application.InputBox( _
"Insertar Filas despues de la fila No.")
PFila = Application.InputBox( _
"Introduce Cantidad de filas a Incrementar")
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


Espero te sirva.
#3 HMS
15/05/2009 - 16:59 | Informe spam
On 14 mayo, 21:35, "Héctor Miguel"
wrote:
Mostrar la cita
Hola Tocayo !!
Gusto Saludarte
En realidad el parámetro "Step -6", es el resultado de unas pruebas
que yo estaba haciendo con la macro.
Al incluirlo, EXCEL lo que hace en este caso específico es: "Incluye
una Fila en Blanco, Cada 6 Líneas"

Lo que yo necesito es indicarle a EXCEL, que en una Base de base de
datos, a partir del Número de fila que yo le indique, pueda incluir
las "N", lineas en Blanco.
Por ejemplo si tengo una BD, con 3 filas de datos que van de (A1:G3).
Y le indico a EXCEL que partir de la Linea 1, yo necesito que incluya
3 Filas en Blanco.
En buena teoría lo que EXCEL, debería de hacer es lo siguiente.
Dejar la primer Fila sin mover, o sea el primer dato de la BD, se
mantiene.
Luego de la Fila 2 a la Fila 4, debe de Incluir 3 FILAS en BLANCO.
En la Fila 5 aparecerá, el dato que antes estaba en A2
Luego de la Fila 6 a la Fila 8, deberán de aparecer 3 FILAS en BLANCO
Y finalmente en la FILA 9, debe de aparecer el Dato que originalmente
estaba como de tercero en la BD.
De antemano les agradezco todas la colaboraciones
HMS
#4 Héctor Miguel
16/05/2009 - 03:11 | Informe spam
hola, tocayo !

prueba con una macro +/- como la siguiente:

Sub Insertar_nFilas_Col_A()
Dim Fila As Integer, pFila As Integer, nFilas As Byte, uFila As Integer
pFila = Val(Trim(InputBox("Indica la primer fila que se queda FIJA", "")))
If pFila < 1 Then Exit Sub
nFilas = Val(Trim(InputBox("Indica el numero de filas a insertar", "")))
If nFilas < 1 Then Exit Sub
uFila = [a65536].End(xlUp).Row
If nFilas = 1 Then GoTo Simple
Application.ScreenUpdating = False
For Fila = uFila To pFila + 1 Step -1
Range("a" & Fila).Resize(nFilas).EntireRow.Insert
Next
Exit Sub
Simple:
Dim Rango As String
For Fila = pFila + 1 To uFila
Rango = Rango & "," & "a" & Fila
Next
Range(Mid(Rango, 2)).EntireRow.Insert
End Sub

saludos,
hector.

__ OP __
Mostrar la cita
#5 HMS
16/05/2009 - 19:54 | Informe spam
On 15 mayo, 19:11, "Héctor Miguel"
wrote:
Mostrar la cita
Funciona a la Perfección
Muchas gracias Tocayo
Slds
HMS
Ads by Google
Search Busqueda sugerida