- Mensajes: 149
- Gracias recibidas: 0
REGLAMENTO DE USO (31 Mar 2011)
Recordatorio a todos los usuarios de los foros:
5. Está prohibido transmitir a través de estos foros cualquier contenido (información, datos, gráficos, texto, archivos, ligas, software u otro material) que viole cualquier derecho de propiedad industrial o intelectual. Se requiere mencionar al autor y el medio de publicación cuando se haga una referencia editorial.
Macro
- EDD
- Autor del tema
- Fuera de línea
- Expert Boarder
-
Menos
Más
19 años 2 meses antes #11119
por EDD
Hola que tal cuates ojala alguien me pueda ayudar con esto, tengo un libro de excel que tiene varias hojas y ocupo realizar una macro que me copie el contenido de cierta hoja y lo pegue en otra y despues de hacer esto me elimine ciertas filas
ejemplo
Color largo ancho alto origen
Rojo 1_______1.6____1 __ Alemania
verde 1.5_____1.5____2 __ Boston
verde 1.5_____1.2____3 __ Jalisco
Rojo 1_______1.3____4 __ Belgica
Rojo 1.5_____1.5____7 __ Honduras
Que primero me elimine las filas que sean \"Verde\" solo hay \"Verdes y Rojas\"
Gracias por su valiosa ayuda
Mensaje editado por: EDD, el: 21/06/2007 13:45<br><br>Mensaje editado por: EDD, el: 21/06/2007 13:50
ejemplo
Color largo ancho alto origen
Rojo 1_______1.6____1 __ Alemania
verde 1.5_____1.5____2 __ Boston
verde 1.5_____1.2____3 __ Jalisco
Rojo 1_______1.3____4 __ Belgica
Rojo 1.5_____1.5____7 __ Honduras
Que primero me elimine las filas que sean \"Verde\" solo hay \"Verdes y Rojas\"
Gracias por su valiosa ayuda
Mensaje editado por: EDD, el: 21/06/2007 13:45<br><br>Mensaje editado por: EDD, el: 21/06/2007 13:50
Por favor, Conectar para unirse a la conversación.
- ccrux713
- Fuera de línea
- Senior Boarder
-
Menos
Más
- Mensajes: 69
- Gracias recibidas: 0
19 años 2 meses antes #11155
por ccrux713
Saludos cordiales,
C.P. Claudio Cruz
\\\"Sólo es posible avanzar cuando se mira lejos. Solo cabe progresar cuando se piensa en grande.\\\" José Ortega y Gasset.
Buen día Edd, no me ha quedado muy claro qué es lo que quieres.
Deja ver si capté la idea:
Tienes un libro con varias hojas, en una de ellas tienes:
Color largo ancho alto origen
Rojo 1_______1.6____1 __ Alemania
verde 1.5_____1.5____2 __ Boston
verde 1.5_____1.2____3 __ Jalisco
Rojo 1_______1.3____4 __ Belgica
Rojo 1.5_____1.5____7 __ Honduras
Luego quieres copiar el contenido de las filas que sean \"verde\" y te los pase a otra hoja del mismo libro, y luego que te elimine aquellas filas q acabas de copiar, es eso lo que quieres?
Saludos.
Deja ver si capté la idea:
Tienes un libro con varias hojas, en una de ellas tienes:
Color largo ancho alto origen
Rojo 1_______1.6____1 __ Alemania
verde 1.5_____1.5____2 __ Boston
verde 1.5_____1.2____3 __ Jalisco
Rojo 1_______1.3____4 __ Belgica
Rojo 1.5_____1.5____7 __ Honduras
Luego quieres copiar el contenido de las filas que sean \"verde\" y te los pase a otra hoja del mismo libro, y luego que te elimine aquellas filas q acabas de copiar, es eso lo que quieres?
Saludos.
Saludos cordiales,
C.P. Claudio Cruz
\\\"Sólo es posible avanzar cuando se mira lejos. Solo cabe progresar cuando se piensa en grande.\\\" José Ortega y Gasset.
Por favor, Conectar para unirse a la conversación.
- EDD
- Autor del tema
- Fuera de línea
- Expert Boarder
-
Menos
Más
- Mensajes: 149
- Gracias recibidas: 0
19 años 2 meses antes #11164
por EDD
HOLA QUE TAL CCRUX713 LO QUE QUIERO BASICAMENTE ESQUE ME COPIE TODA UNA HOJA Y ME LA PEGUE EN OTRA YA EXISTENTE, Y QUE DESPUES ELIMINE LAS FILAS QUE TENGAN EN LA PRIMER COLUMNA UNA REFERENCIA \"X\" EN ESTE CASO EL COLOR
O SI SE PUEDE QUE EN LUGAR DE COPIAR TODA LA HOJA Y LUEGO ELIMINAR LAS QUE NO TENGAN LA REFERENCIA \"X\" EN LA PRIMERA COLUMNA, PUES SOLO COPIE DE LA HOJA ORIGEN LAS QUE TENGAN DICHA REFERENCIA \"X\" Y LAS PEGUE EN LA OTRA HOJA
OSEA CONDICIONAR EL COPIADO Y PEGADO Y QUE COPIE EL VALOR NO EL VINCULO
GRACIAS POR AYUDARME
O SI SE PUEDE QUE EN LUGAR DE COPIAR TODA LA HOJA Y LUEGO ELIMINAR LAS QUE NO TENGAN LA REFERENCIA \"X\" EN LA PRIMERA COLUMNA, PUES SOLO COPIE DE LA HOJA ORIGEN LAS QUE TENGAN DICHA REFERENCIA \"X\" Y LAS PEGUE EN LA OTRA HOJA
OSEA CONDICIONAR EL COPIADO Y PEGADO Y QUE COPIE EL VALOR NO EL VINCULO
GRACIAS POR AYUDARME
Por favor, Conectar para unirse a la conversación.
- ccrux713
- Fuera de línea
- Senior Boarder
-
Menos
Más
- Mensajes: 69
- Gracias recibidas: 0
19 años 2 meses antes #11205
por ccrux713
Saludos cordiales,
C.P. Claudio Cruz
\\\"Sólo es posible avanzar cuando se mira lejos. Solo cabe progresar cuando se piensa en grande.\\\" José Ortega y Gasset.
Hola de nuevo Edd!
Primero, te pido disculpas por la demora, pero después de varias pruebas creo que lo que quieres es lo siguiente:
Sub copySheet3()
Dim refe$, copFin$, indk$, cellIni$, cellFin$, cellDelIni$, cellDelFin$
cellIni = \"$A$1\"
cellDelIni = \"$A$2\"
indk = \"0Z\"
refe = InputBox(\"Ingrese la referencia de filas: \", \"Referencia\")
If refe = \"\" Then
Exit Sub
Else
ActiveWorkbook.Sheets(\"Sheet1\").Activate
Range(cellIni).Select
Do
If IsEmpty(ActiveCell) = False Then
ActiveCell.Offset(1, 0).Select
End If
Loop Until IsEmpty(ActiveCell) = True
cellFin = ActiveCell.Offset(-1, 0).Address
copFin = ActiveCell.Offset(-1, 4).Address
ActiveWorkbook.Names.Add Name:
"RanCopiado\", RefersToR1C1:=Range(cellIni, copFin)
Application.Goto reference:
"RanCopiado\"
Selection.Copy
ActiveWorkbook.Sheets(\"Sheet2\").Activate
Range(cellIni).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveSheet.Paste
Application.CutCopyMode = False
Range(cellIni).Select
ActiveWorkbook.Sheets(\"Sheet1\").Activate
Range(cellIni).Select
ActiveWorkbook.Names.Add Name:
"RanBusqRef\", RefersToR1C1:=Range(cellIni, cellFin)
With Worksheets(\"Sheet1\").Range(cellIni, cellFin)
Set bkRef = .Find(What:=refe, LookIn:=xlValues)
If Not bkRef Is Nothing Then
Do
bkRef.Value = indk
Set bkRef = .FindNext(bkRef)
Loop While Not bkRef Is Nothing
End If
End With
Application.Goto reference:
"RanCopiado\"
Selection.Sort Key1:=ActiveCell, Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range(cellDelIni).Select
Do
If ActiveCell = indk Then
ActiveCell.Offset(1, 0).Select
End If
Loop Until ActiveCell <> indk
cellDelFin = ActiveCell.Address
Range(cellDelIni, cellDelFin).Select
Selection.EntireRow.Delete
Range(cellIni).Select
Exit Sub
End If
End Sub
Espero sea lo que buscas, a mí me funcionó a la perfección.
Saludos cordiales.
Primero, te pido disculpas por la demora, pero después de varias pruebas creo que lo que quieres es lo siguiente:
Sub copySheet3()
Dim refe$, copFin$, indk$, cellIni$, cellFin$, cellDelIni$, cellDelFin$
cellIni = \"$A$1\"
cellDelIni = \"$A$2\"
indk = \"0Z\"
refe = InputBox(\"Ingrese la referencia de filas: \", \"Referencia\")
If refe = \"\" Then
Exit Sub
Else
ActiveWorkbook.Sheets(\"Sheet1\").Activate
Range(cellIni).Select
Do
If IsEmpty(ActiveCell) = False Then
ActiveCell.Offset(1, 0).Select
End If
Loop Until IsEmpty(ActiveCell) = True
cellFin = ActiveCell.Offset(-1, 0).Address
copFin = ActiveCell.Offset(-1, 4).Address
ActiveWorkbook.Names.Add Name:
"RanCopiado\", RefersToR1C1:=Range(cellIni, copFin)Application.Goto reference:
"RanCopiado\"Selection.Copy
ActiveWorkbook.Sheets(\"Sheet2\").Activate
Range(cellIni).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveSheet.Paste
Application.CutCopyMode = False
Range(cellIni).Select
ActiveWorkbook.Sheets(\"Sheet1\").Activate
Range(cellIni).Select
ActiveWorkbook.Names.Add Name:
"RanBusqRef\", RefersToR1C1:=Range(cellIni, cellFin)With Worksheets(\"Sheet1\").Range(cellIni, cellFin)
Set bkRef = .Find(What:=refe, LookIn:=xlValues)
If Not bkRef Is Nothing Then
Do
bkRef.Value = indk
Set bkRef = .FindNext(bkRef)
Loop While Not bkRef Is Nothing
End If
End With
Application.Goto reference:
"RanCopiado\"Selection.Sort Key1:=ActiveCell, Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range(cellDelIni).Select
Do
If ActiveCell = indk Then
ActiveCell.Offset(1, 0).Select
End If
Loop Until ActiveCell <> indk
cellDelFin = ActiveCell.Address
Range(cellDelIni, cellDelFin).Select
Selection.EntireRow.Delete
Range(cellIni).Select
Exit Sub
End If
End Sub
Espero sea lo que buscas, a mí me funcionó a la perfección.
Saludos cordiales.
Saludos cordiales,
C.P. Claudio Cruz
\\\"Sólo es posible avanzar cuando se mira lejos. Solo cabe progresar cuando se piensa en grande.\\\" José Ortega y Gasset.
Por favor, Conectar para unirse a la conversación.
- EDD
- Autor del tema
- Fuera de línea
- Expert Boarder
-
Menos
Más
- Mensajes: 149
- Gracias recibidas: 0
19 años 2 meses antes #11509
por EDD
Hola CCRUX perdon por responder tan tardiamente pero habia tenido una serie de problemas personales aun no e checado del todo como funciona la macro no la entiendo del todo pero con calma la revisare para ver que tal funciona
te agradezco mucho la atencion y el tiempo invertido para dar respuesta a mi pregunta
de corazon gracias
te agradezco mucho la atencion y el tiempo invertido para dar respuesta a mi pregunta
de corazon gracias
Por favor, Conectar para unirse a la conversación.
- ccrux713
- Fuera de línea
- Senior Boarder
-
Menos
Más
- Mensajes: 69
- Gracias recibidas: 0
19 años 2 meses antes #11523
por ccrux713
Saludos cordiales,
C.P. Claudio Cruz
\\\"Sólo es posible avanzar cuando se mira lejos. Solo cabe progresar cuando se piensa en grande.\\\" José Ortega y Gasset.
Ok, no hay prob Edd.
Cualquier duda, estoy a tus órdenes!
Saludos
Cualquier duda, estoy a tus órdenes!
Saludos
Saludos cordiales,
C.P. Claudio Cruz
\\\"Sólo es posible avanzar cuando se mira lejos. Solo cabe progresar cuando se piensa en grande.\\\" José Ortega y Gasset.
Por favor, Conectar para unirse a la conversación.
Tiempo de carga de la página: 0.813 segundos