Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/08/2013, 20:14
Avatar de mrocf
mrocf
 
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 19 años, 6 meses
Puntos: 88
De acuerdo Respuesta: Comprobar si en un rango de celdas hay coincidencia

Hola! El_LoBooo (y KATHYU).

a) Haz click derecho en la solapa de la hoja que contiene la información y selecciona: Ver código

b) En la ventana que se te abrirá copia y pega lo siguiente:

Código PHP:
Sub Diferenciar()
Rem ------------------
Rem By Cacho Rodríguez
Rem 
------------------

Dim Vec1, myDic
Dim Q
&, i&, j&, iniTime!

iniTime = Timer
Vec1 
= Range([a1], Cells(Rows.Count, "a").End(xlUp))
Q = UBound(Vec1)
Set myDic = CreateObject("Scripting.Dictionary")

i = 1
While i <= Q
  
If myDic.Exists(Vec1(i, 1)) Then
    j 
= 1 + myDic(Vec1(i, 1))
    
myDic.Remove (Vec1(i, 1))
    
myDic.Add Vec1(i, 1), j
    Vec1
(i, 1) = Vec1(i, 1) & j
  
Else
      
myDic.Add Vec1(i, 1), 1
  End 
If
  
i = 1 + i
Wend

[f1].Resize(Q) = Vec1
MsgBox 
"Proceso terminado en: " & Format(Timer - iniTime, "0.000 seg.")
Vec1 = Empty
myDic = Empty
End Sub 
c) Cierra todas las ventanas del ambiente Visual Basic for Application (VBA) en el que te encuentras y retorna al Excel.

d) Ejecuta la macro que recién acabas de incorporar: Diferenciar

e) En la suposición que tus datos se encuentrasen ubicados desde la celda A1 y hacia abajo, deberías obtener la solución en cuestión de décimas de segundos.

¿Te puede servir la idea?...
Saludos, Cacho R.