Como seleccionar una matriz con una macro
Publicado por Miguel (4 intervenciones) el 10/04/2009 00:23:20
Hola a todos soy nuevo por aqui espero me puedan ayudar tengo una macro la cual me sirve para buscar y eliminar datos repetidos en una columna y darme las veces que se repitio pero lo que yo necesito es que en lugar de buscar solo en una columna me busque en una matriz de datos que tengo.
Como puedo modificar mi macro?, o como me quedaria ya corregida? AYUDENME...
Ejemplo de mi matriz:
perro cotorro
perro leon
gato pajaro
gato pajaro
Pero mi macro solo busca en la primer columna y me da este resultado,
perro 2
gato 2
Necesito que me dé:
perro 2
gato 2
cotorro 1
leon 1
pajaro 2
Sub EliminarRepetidosYRegistro()
contador = 1
valor = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
While ActiveCell.Value <> ""
If ActiveCell.Value = valor Then
ActiveSheet.Next.Select
If ActiveCell.Value <> valor Then
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = valor
End If
ActiveSheet.Previous.Select
Selection.Delete Shift:=xlUP
contador = contador + 1
Else
If contador > 1 Then
ActiveSheet.Next.Select
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = contador
ActiveCell.Offset(0, -1).Select
ActiveSheet.Previous.Select
End If
contador = 1
valor = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
End If
Wend
If contador <> 1 Then
ActiveSheet.Next.Select
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = contador
ActivelCell.Offset(0, 1).Select
ActiveSheet.Previous.Select
End If
End Sub
Como puedo modificar mi macro?, o como me quedaria ya corregida? AYUDENME...
Ejemplo de mi matriz:
perro cotorro
perro leon
gato pajaro
gato pajaro
Pero mi macro solo busca en la primer columna y me da este resultado,
perro 2
gato 2
Necesito que me dé:
perro 2
gato 2
cotorro 1
leon 1
pajaro 2
Sub EliminarRepetidosYRegistro()
contador = 1
valor = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
While ActiveCell.Value <> ""
If ActiveCell.Value = valor Then
ActiveSheet.Next.Select
If ActiveCell.Value <> valor Then
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = valor
End If
ActiveSheet.Previous.Select
Selection.Delete Shift:=xlUP
contador = contador + 1
Else
If contador > 1 Then
ActiveSheet.Next.Select
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = contador
ActiveCell.Offset(0, -1).Select
ActiveSheet.Previous.Select
End If
contador = 1
valor = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
End If
Wend
If contador <> 1 Then
ActiveSheet.Next.Select
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = contador
ActivelCell.Offset(0, 1).Select
ActiveSheet.Previous.Select
End If
End Sub
Valora esta pregunta
0