16/11/2013, 10:30
|
| | Fecha de Ingreso: junio-2013
Mensajes: 1
Antigüedad: 11 años, 6 meses Puntos: 0 | |
Respuesta: Comprobar si en un rango de celdas hay coincidencia Cita:
Iniciado por mrocf 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. hola mrocf!! tengo un poblema con una macro y no se como poder hacer la pregunta... y que me pudieras ayudar... sigo tus respuestas en otras preguntas que te hace y son geniales... espero tu respuesta. Gracias |