 
			
				28/07/2010, 21:37
			
			
			     |  
        |     |    |    Fecha de Ingreso: marzo-2007  Ubicación: Bs.As.  
						Mensajes: 1.103
					  Antigüedad: 18 años, 7 meses Puntos: 88     |        |  
        Excel con vbasic for application        Hola! daviky. 
Tu código está más que bien concebido pues es lo ideal para cuando se tienen decenas de miles de datos en la columna A.   
Tu error es "mínimo". En efecto:   
En lugar de:  aux = c.Value   
debe ser:  aux = c.Address   
Y en lugar de:  If aux = c.Value Then   
debe ser:  If aux = c.Address Then   
O sea: en lugar de terminar el código ante una repetición del valor, lo debes terminar ante una repetición de la referencia de la celda inicial.   
Te muestro -entonces-  una posible depuración, aunque el código que has elaborado resulta operativo con aquellas pequeñas correcciones:      
Código vb:
 Ver originalDim C As Range, Aux As String ' defino el objeto c para q almacene la coincidencia Set C = Hoja1.Range("a1:a10").Find(2, LookIn:=xlValues, LookAt:=xlPart) ' si no hay coincidencia no hace nada If C Is Nothing Then   Exit Sub End If 'guardo el primer valor de la coincidencia Aux = C.Address 'entra en loop para hacer las copias   Do   C.Copy [H2].End(xlDown).Offset(1) ' entrega el nuevo valor encontrado a c   Set C = Hoja1.Range("a1:a10").FindNext(C) Loop Until Aux = C.Address 
       
Saludos, Cacho.             |