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

Insertar filas copiadas en funcion de un campo

966 views
Skip to first unread message

Ivan

unread,
Nov 29, 2005, 10:10:40 PM11/29/05
to
Hola a todos de nuevo

Me interesaria saber como puedo copiar (si es posible) una fila si un
determinado campo de ese registro contiene un valor numerico e insertarla
en la siguiente fila tantas veces como marque el nº contenido en esa celda
( insertar fila copiada x nº en celda )

Ej:

A B C D
1 COCHE ROJO MADRID
2 MOTO VERDE BARCELONA 3
3 COCHE AZUL PARIS

Me gustaria que al escribir una cifra en una celda del rango D1:Dx (p.ej)
automaticamente me copiara el registro de la fila correspondiente y me lo
insertara a continuacion tantas veces como marque esa celda
A B C D
1 COCHE ROJO MADRID
2 MOTO VERDE BARCELONA 3
2 MOTO VERDE BARCELONA 3
2 MOTO VERDE BARCELONA 3
3 COCHE AZUL PARIS

Gracias en cualquier caso.
Un saludo y hasta pronto.

Ivan

unread,
Nov 30, 2005, 2:57:35 AM11/30/05
to
Hola de nuevo.

Disculpad el error. En realidad el ejemplo deberia quedar asi:

A B C D
1 COCHE ROJO MADRID
2 MOTO VERDE BARCELONA 3

3 MOTO VERDE BARCELONA
4 MOTO VERDE BARCELONA
5 MOTO VERDE BARCELONA
6 COCHE AZUL PARIS

Asi seria ideal, aunque supongo que es inevitable que el contenido de
D1:Dx(3 en el ej.) tambien se copie.

Willi@m

unread,
Nov 30, 2005, 6:49:50 AM11/30/05
to
Hola Ivan, prueba con esto y me comentas como te va:
Haces click derecho en la pestaña de la hoja y eliges Ver código, en la ventana pegas este fragmento:
 
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 4 Then _
    If IsNumeric(Target) And _
       Target > 0 Then _
        Range(Target.Offset(1, 0), _
          Target.Offset(Target, 0)).EntireRow.Insert _
          Shift:=xlDown, _
          CopyOrigin:=Target.EntireRow.Copy
  Application.CutCopyMode = False
End Sub
 
Nos comentas los resultados, Chao.
    Willi@m
 

Ivan

unread,
Nov 30, 2005, 9:42:50 PM11/30/05
to
Hola Willi@m y muchas gracias de nuevo.

El codigo va de maravilla.

Yo lo habia intentado haciendo una macro y luego intentando modificar el
codigo pero no daba con ello. ¿Te importaria explicarme aunque fuera
someramente su funcionamiento y componentes?

En cualquier caso muchas gracias.
uUn saludo y hasta pronto.

Willi@m

unread,
Dec 1, 2005, 5:26:46 AM12/1/05
to
Hola Ivan, me alegra que te haya servido la macro, el funcionamiento es el siguiente:
Private Sub Worksheet_Change(ByVal Target As Range) -» Este es un evento de la hoja de cálculo y ocurre cuando alguna celda de la hoja de cálculo es modificada por el usuario o por un vínculo externo, el parámetro Target es el rango modificado. Puede ser más de una celda.
   If Target.Column = 4 Then _ -» En esta línea comprobamos que la celda cambiada esté en la columna número cuatro o sea la columna D
     If IsNumeric(Target) And _ -» Aquí, si la celda cambiada tiene un valor que se pueda interpretar como número y
        Target > 0 Then _            -» si el valor de esta celda es mayor que cero, entonces:
         Range(Target.Offset(1, 0), _ -» En el rango que es un fila mas abajo de la celda cambiada y 
           Target.Offset(Target, 0)).EntireRow.Insert _ -» que tiene Target filas de alto, además abarca todo el ancho de la hoja, insertamos
           Shift:=xlDown, _ -» hacia abajo
           CopyOrigin:=Target.EntireRow.Copy -» Toda la fila de origen.
   Application.CutCopyMode = False -» Quitamos el modo de copia de la aplicación y
 End Sub -» salimos.
Espero que esté claro, sino me preguntas cualquier inquietud, Chao.
    Willi@m
 

Ivan

unread,
Dec 1, 2005, 9:04:34 PM12/1/05
to
Hola Willi@m, muchas gracias otra vez.

Si el código me va a ser útil tu magnifica explicación paso a paso todavía
lo será mas.

Espero no abusar, pero no sabrás (sabréis) algún tutorial, que se pueda
descargar, sobre VBA en Excel, o en su defecto algun libro sobre el tema,
en castellano. Me he bajado varios cursos de VB y de VBA en Acces para
intentar aprender un poco, pero sobre Excel no he conseguido encontrar
nada.

En cualquier caso muchas gracias.

Un saludo y hasta pronto.
Ivan.

Willi@m

unread,
Dec 3, 2005, 8:11:21 AM12/3/05
to
Ivan, tu pregunta tiene un universo de respuesta, hay muy buenos libros, sitios en la web, estos foros y la misma ayuda de Excel, etc., una de las mejores formas es utilizar la grabadora de macros para obtener un punto de partida y con paciencia y la ayuda del programa lo vas mejorando y al mismo tiempo aprendes los trucos de programación, hasta obtener el resultado deseado.
Cuando se estés en algún apuro tienes estos foros para pedir ayuda, seguro que alguien sabe lo que yo no se.
Sin embargo como cuando aprendes cualquier idioma, solo la practica y el tiempo te darán un dominio de él.
Me tomo la libertad de copiar la respuesta que le dio Héctor Miguel, a una pregunta sobre el mismo tema, espero te sea de utilidad: 
    "
-> [ciertamente que] tu solicitud 'es' [o pareciera ser] tan ambiciosa y extensa como ambigua :(
    sin conocer el nivel de experiencia desde el cual quieres 'iniciar'...
    bien pudiera 'abarcar'...desde 'como' seleccionar y 'moverse' en[entre] las hojas/libros...
    ['pasando' por funciones/herramientas -analisis, tablas y graficas 'dinamicas', macros y formularios, etc.-]
    hasta 'crear/controlar' aplicaciones a traves de excel [y viceversa] ;)

-> me gustaria decirte que leyendo 'tales o cuales' libros ... [pero, estaria siendo 'excluyente'] ;)
    todo material de estudio [manuales, {F1}, libros,cursos, web's, estos foros, etc.] ->es excel...ente<-
    mas bien [creo yo que], cada quien 'avanza al ritmo que puede/quiere/necesita'    ;)
    ademas considera que [en muchas de las ocasiones]
    -> 'buscando una cosa'... 'encuentras otra' [que se te habia 'perdido']
    -> o ['te topas' con] 'la hermana que se escapo de su prision' [sor-presa... NO esta !!!]    :))

-> cuando 'se atora la carreta' [que nos sucede a todos] :-(
    NO es 'imprescindible' saberlo todo ;)    es suficiente con saber...
    el telefono del que sabe... o el e-mail... o la web... o... por que no consultas en el foro? :D

aunque [supongo que de algun modo] no 'escaparas' de consultar al asistente {F1} de excel/vba...
encontraras [algunos] manuales/instructivos/cursos/etc. en las siguientes direcciones:
saludos,
hector.

algunas paginas en ingles...
Charles Williams (DecisionModels): http://www.decisionmodels.com/
Tushar Mehta: http://www.tushar-mehta.com/excel/
Laurent Longre: http://xcell05.free.fr/
Rob Bovey: http://www.appspro.com/Tips/Tips_And_Tricks.htm
Stephen Bullen' Excel MVP's page: http://www.bmsltd.ie/MVP/Default.htm
Jurgen Volkerink (KeepItCool): http://members.chello.nl/keepitcool/addins.html
Matt Evans: http://www.exinfm.com/free_spreadsheets.html
Karl Peterson: http://vb.mvps.org/samples/
Bob Umlas: http://www.emailoffice.com/excel/arrays-bobumlas.html
Carlo Quintero: http://www.mztools.com/
Van Gelder: http://homepages.paradise.net.nz/~robree/excel/
MiStupid (Training Online): http://mistupid.com/tutorials/excel/
ExtremeVBTalk(newsgroup): http://www.visualbasicforum.com/

algunas paginas en castellano...
http://www.franciscopascual.com/Archivos/Excel%202002.zip
http://www.javeriana.edu.co/decisiones/modelos/ejemplos_y_ejercicios.html
http://www.javeriana.edu.co/cursad/diplomado/ejemplos_j_sarmiento.html
http://members.fortunecity.es/tonelorc/eexcel.html
http://www.aulaclic.es/excel2000/f_excel2000.htm
http://64.226.188.26/sivnetwork-www/cursos_gratis/excel/Excel.htm
http://www.territoriopc.com/excel/
http://interinfo.iespana.es/interinfo/info_general/manuales/manuales_ig.htm
http://www.fullwebs.com.uy/endondeestamos/Downloads/Tutoriales/excel.pdf
http://office.arnulfoperez.com/excel/
http://lacher.com/toc.htm
http://www.sistemaslym.net/vba/excel/excel.html
http://es.geocities.com/lacibelesdepunilla/macros.htm
http://es.geocities.com/lacibelesdepunilla/macros1.htm
http://www.macroheavy.com/excel/excel.asp
http://www.geocities.com/gorita_2000/VBA.htm
http://www.excelavanzado.com/
http://www.xtec.es/~rlloren4/KBEsp2.htm
http://www.exceluciones.com/portal/index.php?article=35
http://www.excelesp.com/
    "
Chao,     Willi@m
 

Ivan

unread,
Dec 6, 2005, 9:48:54 PM12/6/05
to
Si llegas a abrir este mensaje, gracias otra vez.

nesto...@gmail.com

unread,
Jan 20, 2016, 7:05:51 PM1/20/16
to
Hola, podrias pasar el excell porfa
0 new messages