Tengo un libro de Excel, en la columna A cada celda contiene todas las URL deun sitio(esto significa cientos de URL en una celda).
Entre todas las URL dentro de una sola celda, quiero extraer solo la URL que contiene la palabracontacto
Por ejemplo:
Celda A1:http://examplesite.com/index.html; http://examplesite.com/login.php; http://examplesite.com/contact.html; http://examplesite.com/about.html
Celda A2:http://hello.publish.com/alumni; http://hello.publish.com/contact-us; http://hello.publish.com/sitemap; http://hellopublish.com/projects
Etcétera
Me gustaría tener este resultado en la columna B.
Celda B1: http://examplesite.com/contact.html
Celda B2: http://hello.publish.com/contact-us
Respuesta1
Prueba lo siguienteUd.serDrefinadoFunción(UDF):
Public Function FindContact(inpt As String) As String
ary = Split(inpt, "; ")
For Each a In ary
If InStr(1, a, "contact") > 0 Then
FindContact = a
Exit Function
End If
Next a
FindContact = ""
End Function
Las funciones definidas por el usuario (UDF) son muy fáciles de instalar y utilizar:
- ALT-F11 abre la ventana VBE
- ALT-I ALT-M abre un módulo nuevo
- pegue las cosas y cierre la ventana de VBE
Si guarda el libro de trabajo, la UDF se guardará con él. Si está utilizando una versión de Excel posterior a 2003, debe guardar el archivo como .xlsm en lugar de .xlsx.
Para eliminar la UDF:
- abrir la ventana VBE como arriba
- borrar el código
- cerrar la ventana VBE
Para utilizar la UDF desde Excel:
=BuscarContacto(A1)
Para obtener más información sobre las macros en general, consulte:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
y
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
y para obtener detalles sobre las UDF, consulte:
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
¡Las macros deben estar habilitadas para que esto funcione!
Respuesta2
Dado que todos sus datos descienden verticalmente, el comando para usted es el VLookup
comando. Primero, en la columna B, configure un identificador para cada una de las URL comenzando desde 1 y continuando hasta el final. Haga esto arrastrando el punto negro en la esquina completamente hacia abajo hasta encontrar la URL final. ejemplo: VLookup("contact",$A1:$B13,2,TRUE)
.