Ayuda en macro

07/08/2008 - 17:58 por Edixon | Informe spam
Hola Grupo necesito de su ayuda nuevamente en lo siguiente:

tengo en la hoja 1 una base de datos grande con 15000 filas y 10
columnas

en la columna A tengo referencias (numero) y desde la columna b hasta
la m caracterististicas asociadas a esas referencias.

Columna M (Valores >= 0)

Las referencias de las columna A pueden ser que tengan caracteristicas
en mas de una fila ( Si esta en a1 la referencia y tiene 3
caracteristicas las celdas a2 y a3 estaran en blanco pero se
sobreentiente que son caractaristicas de la referencia que está en a1)

Lo que necesito es que en la hoja 2 se reflejen solo las referencias
junto a todas sus caracteristicas, pero solo los que tengan un valor
en la columna M > 0

Aqui les pongo el ejemplo para que se visualise mejor:

Hoja 1
______A______B___________M
1____12345___xxx____xxxx______542
2____________xxx____xxxx______
3____________xxx____xxxx______
4____12347___xxx____xxxx______874
5____________xxx____xxxx______
6____154_____xxx____xxxx______
7____8764____xxx____xxxx______5


Hoja 2

______A______B___________M
1____12345___xxx____xxxx______542
2____________xxx____xxxx______
3____________xxx____xxxx______
4____12347___xxx____xxxx______874
5____________xxx____xxxx______
6____8764____xxx____xxxx______5

Espero se halla entendido y de antemano gracias por su ayuda.

Preguntas similare

Leer las respuestas

#1 AnSanVal
07/08/2008 - 19:49 | Informe spam
Prueba con:

Sub PasaDatos()
Dim celda As Range
Dim ref, fila As Long
Worksheets("Hoja1").Range("A1:A" & Cells(65535, 1).End(xlUp).Offset(1).Row).Select
For Each celda In Selection
If celda > 0 And Cells(celda.Row, 13) > 0 Then
ref = celda.Value
Else
If celda > 0 Then ref = 0
End If
If ref > 0 Then
fila = fila + 1
celda.EntireRow.Copy Destination:=Worksheets("Hoja2").Cells(fila, 1)
End If
Next celda
End Sub

Saludos desde Tenerife: Antonio.
***********************************************
"Edixon" escribió en el mensaje
news:

Hola Grupo necesito de su ayuda nuevamente en lo siguiente:

tengo en la hoja 1 una base de datos grande con 15000 filas y 10
columnas

en la columna A tengo referencias (numero) y desde la columna b hasta
la m caracterististicas asociadas a esas referencias.

Columna M (Valores >= 0)

Las referencias de las columna A pueden ser que tengan caracteristicas
en mas de una fila ( Si esta en a1 la referencia y tiene 3
caracteristicas las celdas a2 y a3 estaran en blanco pero se
sobreentiente que son caractaristicas de la referencia que está en a1)

Lo que necesito es que en la hoja 2 se reflejen solo las referencias
junto a todas sus caracteristicas, pero solo los que tengan un valor
en la columna M > 0

Aqui les pongo el ejemplo para que se visualise mejor:

Hoja 1
______A______B___________M
1____12345___xxx____xxxx______542
2____________xxx____xxxx______
3____________xxx____xxxx______
4____12347___xxx____xxxx______874
5____________xxx____xxxx______
6____154_____xxx____xxxx______
7____8764____xxx____xxxx______5


Hoja 2

______A______B___________M
1____12345___xxx____xxxx______542
2____________xxx____xxxx______
3____________xxx____xxxx______
4____12347___xxx____xxxx______874
5____________xxx____xxxx______
6____8764____xxx____xxxx______5

Espero se halla entendido y de antemano gracias por su ayuda.
Respuesta Responder a este mensaje
#2 Edixon
08/08/2008 - 03:57 | Informe spam
Hola AnSanVal

Gracias por tu ayuda, pero no me funciona muy bien

Me da un error en la siguiente instruccion

Worksheets("Hoja1").Range("A1:A" & Cells(65535,
1).End(xlUp).Offset(1).Row).Select

Gracias nuevamente
Respuesta Responder a este mensaje
#3 Edixon
08/08/2008 - 04:18 | Informe spam
Disculpa solo tenia que ejecutarla desde la hoja 1

Gracias me funciono perfecto

Dios te Bendiga
Respuesta Responder a este mensaje
#4 Héctor Miguel
08/08/2008 - 05:37 | Informe spam
hola, chicos ! (solo por no "dejarla en el tintero") :))

asumiendo que los datos de hoja1 tienen sus titulos en la fila1 desde las columnas A:M (A y M valores numericos)
datos a partir de la fila 2... y que tienes libre a partir de la columna N ... -> (el codigo usa el rango O1:O2 para)...
usar los filtros avanzados (que) podria resultar en un proceso mas rapido (en lugar de avances "fila-por-fila")

Sub mi_Filtro_Especial()
With Worksheets("hoja1").Range("a1").CurrentRegion
.Parent.Range("o2").Formula = "=or(and(a2>0,m2>0),and(a2="""",m2=""""))"
.AdvancedFilter _
Action:=xlFilterCopy, CriteriaRange:=.Range("o1:o2"), _
CopyToRange:=Worksheets("hoja2").Range("a1")
.Parent.Range("o2").ClearContents
End With
End Sub

saludos,
hector.
Respuesta Responder a este mensaje
#5 Edixon
08/08/2008 - 18:49 | Informe spam
Hola Héctor gracias nuevamente por ayudar.

me gusto tu aporte es rapido el proceso.

en la fila 1 desde la A1 hasta la M1 son titulos (texto)

Las columnas F,G y L estan ocultas(me gusta que tu aporte no las
muestra al momento de hacer el pegado en la hoja 2, estas contienen
formulas)

pero hubo unos detalles:

no se colocan las referencias de la columna 1 ( es un valor)

Como las columnas desde la i a la m son formulas que se relacionan con
las F G y L quedaron en blanco esos valores

Creo que estaria perfecta si solo copiara los valores mas no las
formulas eso me serviria

Gracias por tu ayuda de antemano
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida