Insertar Filas en otra hoja

28/07/2009 - 20:22 por JForero | Informe spam
Buen día grupo

Deseo realizar lo siguiente:

En la hoja2 tengo las columas A, B C D E y F diligenciadas con cierto numero
de registros, las columnas B C D E y F estan formuladas con operaciones
matematicas y buscarv apuntando a la hoja3. la fila 1 y 2 son de titulos

En la hoja1 tengo en las celdas:

a3 nombre empresa
a4 nombre cliente
a5 direccion electronica
fila 6 en blanco
fila 7 en blanco
fila 8 en blanco
a9 a la a11 textos informativos para el cliente

en la hoja1 tengo insertado un boton del cuadro de controles en el que
necesito realizar lo siguiente:

copiar las columnas B C D y F (la A y la E no las necesito) desde la fila2
que corresponde a los titulos (la fila 1 no la necesito copiar) hasta el
ultimo registro diligenciado por ejemplo hasta la fila 15 e insertarlas en
la hoja1 en la fila 7 es decir, en la fila 7 me quedara el primer registro
de la hoja2 y asi sucesivamente... la fila 23 estara en blanco (antes la
fila 8) y en las celdas siguientes de la columna A, la informacion que
estaba en las celdas a9 a la a11.

se debe tener en cuenta que el copiado debe hacerse con todos los formatos y
caracteristicas ya que por ejemplo las celdas estan con fondo en colores,
hay bordes al rededor de las celdas, hay texto ajustado porlo amplio de la
descripcion del producto etc..

gracias por la ayuda que me puedan brindar

Preguntas similare

Leer las respuestas

#1 JForero
31/07/2009 - 19:04 | Informe spam
Hola Hector, muchas gracias funciona bien, pero atendiendo tu observación
(OJO), hay posibilidad que en el mismo botón, después de insertar las filas,
las borre inmediatamente??.

lo digo porque posterior a esto, a traves de codigo en el mismo bóton me
crea una hoja de calculo para cada vez que se genere una cotizacion (es
decir click en el boton) entonces me quedaria guardada la info del a hoja1
en la hojan (que se van creando con un numero cosecutivo)

Gracias
Jorgef.


"Héctor Miguel" escribió en el mensaje de
noticias news:OJ%23CHU%
hola, Jorge !

al boton de la hoja1 le asignas el siguiente codigo en el evento '_click'

Dim nFilas As Integer
Application.ScreenUpdating = False
With ActiveCell
With Worksheets("hoja2").Range("a2")
nFilas = .CurrentRegion.Rows.Count - 1
Range("a8").Resize(nFilas - 2).EntireRow.Insert
.Offset(, 1).Resize(nFilas - 1, 3).Copy
Range("a7").PasteSpecial xlPasteFormats
Range("a7").PasteSpecial xlPasteValues
.Offset(, 5).Resize(nFilas - 1, 1).Copy
Range("d7").PasteSpecial xlPasteFormats
Range("d7").PasteSpecial xlPasteValues
Application.CutCopyMode = False
End With
.Select
End With

OJO: la segunda vez (y posteriores) que la ejecutes ya deberas haber
"limpiado" los datos copiados previamente
(es decir, volver a tener las filas 6, 7 y 8 "en blanco")

saludos,
hector.

__ OP __
En la hoja2 tengo las columas A, B C D E y F diligenciadas con cierto
numero de registros
las columnas B C D E y F estan formuladas con operaciones matematicas y
buscarv apuntando a la hoja3. la fila 1 y 2 son de titulos

En la hoja1 tengo en las celdas:
a3 nombre empresa
a4 nombre cliente
a5 direccion electronica
fila 6 en blanco
fila 7 en blanco
fila 8 en blanco
a9 a la a11 textos informativos para el cliente

en la hoja1 tengo insertado un boton del cuadro de controles en el que
necesito realizar lo siguiente:
copiar las columnas B C D y F (la A y la E no las necesito) desde la
fila2 que corresponde a los titulos
(la fila 1 no la necesito copiar) hasta el ultimo registro diligenciado
por ejemplo hasta la fila 15
e insertarlas en la hoja1 en la fila 7 es decir, en la fila 7 me quedara
el primer registro de la hoja2 y asi sucesivamente
... la fila 23 estara en blanco (antes la fila 8) y en las celdas
siguientes de la columna A, la informacion que estaba en las celdas a9 a
la a11.

se debe tener en cuenta que el copiado debe hacerse con todos los
formatos y caracteristicas ya que por ejemplo
las celdas estan con fondo en colores, hay bordes al rededor de las
celdas, hay texto ajustado porlo amplio de la descripcion del producto
etc.




Respuesta Responder a este mensaje
#2 Héctor Miguel
01/08/2009 - 01:51 | Informe spam
hola, Jorge !

... atendiendo tu observacion (OJO)
hay posibilidad que en el mismo boton, despues de insertar las filas, las borre inmediatamente??.
... posterior a esto, a traves de codigo en el mismo boton me crea una hoja de calculo
para cada vez que se genere una cotizacion (es decir click en el boton)
entonces me quedaria guardada la info del a hoja1 en la hojan (que se van creando con un numero cosecutivo)



podrias exponer el codigo "... posterior a esto ..." que tienes asignado al boton ?

saludos,
hector.
Respuesta Responder a este mensaje
#3 JForero
04/08/2009 - 22:49 | Informe spam
Hola Hector..

el codigo con el que grabo la hoja1 en otro libro en hojas separadas, es
decir una hoja por cada click en el boton cotizar es el siguiente:
La hoja1 ahora se llama cotizaciones y la hoja2 pl_cotizacion.

'salva hoja Cotización en archivo Cotizaciones
Dim NumeroCotizacion As Integer
Dim NombreCliente As String
Set AbreCotizacion =
Workbooks.Open("J:\Datos\QCE\Cotizaciones.xlsx") 'ThisWorkbook.Path &
"\Comprobantes_Egreso.xls")
'insertar código de copiado de egreso
Workbooks("QCE_Cotizador").Worksheets("Cotización").Copy
after:=Workbooks("Cotizaciones").Worksheets(1)
'asigna nombre a la hoja
NumeroCotizacion = Worksheets("Cotización").Range("c9")
NombreCliente = Worksheets("Cotización").Range("b2")
Worksheets("Cotización").Name = (NumeroCotizacion & "-" &
NombreCliente)
'salvar y cerrar archivo
ActiveWorkbook.Save
ActiveWorkbook.Close


otra cosa Hector con el codigo que me enviaste para insertar las celdas
tengo el siguiente lio... claro que no te lo expuse inicialmente.

el copiado funciona perfecto, pero enla hoja pl_cotizacion (antes hoja2),
tengo una formulacion hasta la fila 500, asi:
Titulo
Columna A Referencia
Columna B Cantidad
Columna C Descripcion Utilizo la formula buscarv de la columna A para
traer el dato de la hoja lista_precios
Columna D Valor Total multiplico cantidad por el valor.

a las formulas le antepongo =si(a2<>"",buscarv(etc...
esto hace que solo me indique datos en las filas de la columna A este
diligenciada. ylas formulas las tengo hasta la fila 500 pero el usuario por
ejemplo puede incluir solo 10 items enuna cotizacion o 20 en otra y asi
sucesivamente.

como puedo hacer para que al insertar las filas dando click al boton, me
inserte solo las diligenciadas y no las 500 que es lo que hoy me esta
sucediendo..

gracias Hector por tu colaboracion

Jorgef





"Héctor Miguel" escribió en el mensaje de
noticias news:
hola, Jorge !

... atendiendo tu observacion (OJO)
hay posibilidad que en el mismo boton, despues de insertar las filas, las
borre inmediatamente??.
... posterior a esto, a traves de codigo en el mismo boton me crea una
hoja de calculo
para cada vez que se genere una cotizacion (es decir click en el boton)
entonces me quedaria guardada la info del a hoja1 en la hojan (que se van
creando con un numero cosecutivo)



podrias exponer el codigo "... posterior a esto ..." que tienes asignado
al boton ?

saludos,
hector.

Respuesta Responder a este mensaje
#4 Héctor Miguel
05/08/2009 - 03:38 | Informe spam
hola, Jorge !

__ 1 __
el codigo con el que grabo la hoja1 en otro libro en hojas separadas
es decir una hoja por cada click en el boton cotizar es el siguiente:
La hoja1 ahora se llama cotizaciones y la hoja2 pl_cotizacion. (...)



1) a las ultimas 4 lineas de la propuesta anterior ...
= Application.CutCopyMode = False
End With
.Select
End With
=
las cambias +/- por lo siguiente:
= Application.CutCopyMode = False

' aqui pones todo el codigo "posterior a..." que acabas de exponer ... '

' y agregas estas 2 lineas nuevas ... '

Range("a9").Resize(nFilas - 1).EntireRow.Delete
Range("a8").EntireRow.Clear

End With
.Select
End With
=
__ 2 __
... en la hoja pl_cotizacion (antes hoja2), tengo una formulacion hasta la fila 500, asi:
Titulo
Columna A Referencia
Columna B Cantidad
Columna C Descripcion Utilizo la formula buscarv de la columna A para traer el dato de la hoja lista_precios
Columna D Valor Total multiplico cantidad por el valor.

a las formulas le antepongo =si(a2<>"",buscarv(etc...
esto hace que solo me indique datos en las filas de la columna A este diligenciada
y las formulas las tengo hasta la fila 500 pero el usuario por ejemplo puede incluir solo 10 items e nuna cotizacion o 20 en otra y asi ...
como puedo hacer para que al insertar las filas dando click al boton, me inserte solo las diligenciadas
y no las 500 que es lo que hoy me esta sucediendo...



2) lo siento... en esta parte me declaro "ciego" (no se donde inician las formulas ni si existen alguns titulos ni donde ?????)
es probable que te convenga cambiar de => "nFilas = .CurrentRegion.Rows.Count - 1"
por otro metodo que descarte las filas que no tienen datos reales (para no incluir aquellas con las filas vacias-preparadas) (?????)

saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida