RE:extraer celdas con igual texto
'Ok he conseguido lo que pides, con la ayuda de unas lineas de codigo que tome de la web.
'Segun tu exposicion indicas tener valores en dos columnas (para desarrollar el ejemplo he tomado las
'columnas "A" y "J" de la Hoja1 de un libro) en la columna "A" estaran tus valores habituales por llamarlos
'de una manera y en la "J" estaran los de comparación (o repetidos tal vez), es decir, aquellos que
'tambien pueden estar en la columna "A".
'Para que este ejemplo trabaje, tuve que añadir una columna de parametros que quedará a partir de "L2",
'en la cual escribi la siguiente formula =SI((ESNOD(COINCIDIR($J2;origen;0))=FALSO)=VERDADERO;"Tomar"),
'dicha formula la copio hasta donde hayan datos en "J?" o la puedo llevar hasta donde desee pues solo tomará
'los valores que digan "Tomar"; asi que pienso que por eso no habrá inconvenientes. POr si no conoces bien
'te indico que en la formula, "origen" es un rango dinamico asi =DESREF(Hoja1!$A$2;0;0;CONTARA(Hoja1!$A$2:$A$65536))
'y asi no me preocupo de si agrego nuevos registros ya que el rango donde buscará quedara actualizado siempre.Tambien
'he colocado esto =ESNOD(COINCIDIR($J2;origen;0))=FALSO en formato condicional desde "J2"y hasta donde consiga datos
'para tener una manera de visualizar en colores que la formula =SI((ESNOD(COINCIDIR($J2;origen;0))=FALSO)=VERDADERO;"Tomar")
'trabaja correcto.
'Tu diras para que todo esto!!!, pues solo para que nos quede aplicar el siguiente codigo a un boton y tendremos una hoja
'de tipo historica en la que a partir de "A2" colocara todos los registros que estan en "J?" y se repiten al menos una vez en "A?".
'Ojo!!! si estan dos veces en "J?" te los copiara dos veces, pero limpiar esto en la nueva Hoja con un filtro avanzado es tarea
'demasiado fácil para cualquiera.
'En resumen tendras una columna con datos a partir de "A2", otra con datos para comparar que comienza en "J2", una columna que
'comienza en "L2" para introducir la formula que inicia con la funcion SI, un boton en la Hoja1 para correr el procedimiento,
'un modulo estandar para colocar las lineas de codigo y asociarlo al boton.
Sub filtra()
Dim celdita As Range
Dim inicio
Dim Actual As String
Dim Nueva As String
inicio = 2 'si no quieres los resultados desde la segunda fila cambia el numero 2 por el nùmero de fila de tu conveniencia
Actual = ActiveSheet.Name
Worksheets.Add
Nueva = ActiveSheet.Name
Worksheets(Actual).Select
Range("J2").Select 'Este rango lo debes cambiar por el rango donde tendras los valores a filtrar en tu caso he dejado J?
Selection.CurrentRegion.Select
For Each celdita In Selection
If celdita.Value = "Tomar" Then
celdita.Offset(0, -2).Copy
Worksheets(Nueva).Select
Worksheets(Nueva).Cells(inicio, 1).Select 'si no quieres los resultados en "A?" cambia el numero 1 por el numero de la columna de tu
'conveniencia
Worksheets(Nueva).Paste
inicio = inicio + 1
Worksheets(Actual).Select
End If
Next
Application.CutCopyMode = False
End Sub
'De verdad he probado todo y ha funcionado perfecto, espero que te sirva y entiendas, no esta dificil; solo que por explicar
'todo pareciera ser algo complicado; pero lo de las formulas sera solo la primera vez y el resto presionar un boton.