Cómo crear HIPERVíNCULOS de forma MASIVA en Excel con VBA - Curso de Excel Avanzado
Вставка
- Опубліковано 9 вер 2024
- Tutorial para crear cientos de hipervinculos de forma masiva en Excel con VBA.
Conviértete en miembro de este canal para apoyarlo y disfrutar de ventajas:
/ @aprendizdeexcel
El código usado:
Sub CrearHipervinculos()
'Crear hipervinculos. Dirección en la columna A, nombre en la columna B
Application.ScreenUpdating = False
N = Range("a1").End(xlDown).Row
For i = 1 To N
ActiveSheet.Hyperlinks.Add _
Cells(i, "C"), Cells(i, "A"), TextToDisplay:=CStr(Cells(i, "B"))
Next
Application.ScreenUpdating = True
End Sub
Eres Genio!! Estoy haciendo un Control de Documentos de un servidor masivo y esto me ha ahorrado un montón de trabajo y tiempo. Seguiré revisando tu canal. Saludos
Me alegro 😃
Gracias por comentarlo 😉
Uff.. crack... estuve horas buscando esta solucion... y en 2 minutos solucionaste todo... gracias.
Me alegro Marcos!!! 😊
Gracias por compartir tus conocimientos amigo. Un abrazo.
Gracias a ti ☺️
Tenía que entregar un trabajo de auditoría y me haz ahorrado horas de trabajo con esto, excelente video! muchas gracias, saludos.
Genial!
Me alegro!
Gracias por comentarlo ☺
el dia de hoy lo acabo de ocupar por algo que me pidieron, gracias por la información y sobre todo por la macro saludos amigo
Genial!!
Me alegro Gustavo. Gracias por comentarlo 😉
Tremendo contenido. La verdad es que la función hipervínculos debería tener esto por defecto. Gran trabajo
Gracias!!
¡¡muchas gracias!! Es justo lo que necesitaba
De nada ;)
Muchas gracias! Ya me suscribí al canal
MUCHAS GRACIAS. Me sirvió muchísimo el video
Excelente tutorial y de gran ayuda. Saludos!!!
Gracias David!
Salu2 😉
Excelente video y de mucha ayuda, y lo que más me gusto, que duró 2:40 min jajaja
Gracias Fernando! 😃
Excelente video.
Gracias Edson!
Excelente tutorial, muy útil, gracias
Gracias a ti Antonio ;)
Buenos dias, muy bien explicada cada paseo me fue de much ayuda, solo una pequeña duda, al usarlo desde una usb o un disco duro extterno, ya no me abre el hipervinculo porque la direccion del vinculo especificamente va ligada a la unidad en la que se trabajo, hay alguna manera de que yo pueda usarlo en diferentes computadores y me siga abriendo el vinculo, de antemano agradeceria mucho tu asesoria, saludos desde mexico.
Puedes dividir el hipervínculo en dos, por uno la unidad y por otro la dirección completa.
El usuario debería decir en qué unidad se encuentra para localizarlo.
Si el archivo va a estar en la misma unidad que los hipervínculos se puede crear una instrucción para que saque esa ruta, extraiga la unidad y componga el resto
justo lo que quería gracias
Me alegro!
Gracias por comentarlo 😉
Mil gracias, si tengo datos en diferentes celdas puedo utilizar la macro, mi consulta donde modifico las columnas ahi tenemos A B C UN DECIR SI LA TENGO E H 9 I 9
Buenas tardes maestro, quisiera ver si me puede resolver una duda, es que no se si se pueda aplicar en una celda (código)y de ahi que me mande a otra hoja de excel con esa celda(descripción)donde vienen los datos de la primera celda y asi pero con todas las celdas, pero al momento de arrastrar no se arrastra con todo y formula si no que tengo que ir haciendolo para cada celda y es cansado, ¿Sabra de alguna manera de facilitarlo)
Lo que estás buscando creo que es esto:
ua-cam.com/video/c28L-birLbA/v-deo.html
Disculpa., como puedo llevar un vinculo a otro archivo, es decir tengo una base de datos y cuando hago un buscarV se pierde el vinculo, ¿es posible realizar esta parte? Buscarv sin que el vinculo se pierda, gracias por tus comentarios y excelente video, me sirvió mucho.
Excelente, tutotial. Felicidades.
Una consulta, si tengo varios url en una misma fila porque están asociados a una persona puedo hacer hiperviculos de cada uno de ellos pero se mantengan en la misma celda?, por ejemplo, tengo en la
en la fila 1 de la columna A tengo URL A URL B URL C pero en una misma celda y quiero que en la columna B donde tengo mis Vínculos quede los de cada uno de esos URL pero en la misma celda.
Hola, el proceso a la inversa como sería? Es decir, sacar el URL del Texto Vinculado. Gracias!!
Suscrito! Me ha servido
Echa un vistazo a este vídeo que quizás es lo que buscas
ua-cam.com/video/ixuGwxBhJo4/v-deo.html
Gracias. ¿Cómo hacer en caso de que los archivos a vincular estén en sharepoint?
Desde el explorador la ruta que me da es la c:\\ (al tener un acceso directo a OneDrive).
Cómo puedo sacar la ruta de sharepoint? Para poder así compartir el archivo con otras personas y que los vínculos no varíen.
Gracias y saludos
Es una solución bastante compleja.
Si tienes conocimientos avanzados podrás conseguirlo, pero no es sencillo.
Hay una parte sencilla que es componer la ruta para que funcione para los distintos usuarios y otra que quieras que funcione como ruta de red.
Supongo que tenéis una red que en local tiene una ruta y en web otra. Se parece, pero no son la misma ruta.
La red local puede ser algo así:
C:\\user\"Tu usuario"\Nombre red\Carpeta de turno...
Cada usuario tendrá un nombre distinto compartiendolo todo.
Cambiando solo esa parte, si tiene la carpeta sincronizada, se le abrirá.
Para solucionar esto:
En una columna pones las url de las carpetas del que monte la base de datos.
En otra columna, que es la que usarás para montar los hipervínculos, montas la url del usuario que consulta.
El usuario que consulta lo puedes obtener de dos formas:
1. Que en la celda que elijas él lo rellene a mano, con un desplegable o cómo queráis.
2. Que se active con una macro:
Range("C1").Value = Environ("USERNAME")
La macro la puedes lanzar al abrir el archivo, con un botón, o con otro proceso
Una vez que tengas el usuario con texto antes y texto después quitas el usuario original y compones el nuevo.
Ya tienes la columna con la ruta que le funciona al usuario, si trabajas con la función hipervínculo le funcionará directamente, si funcionas con el hipervínculo incrustado en la celda deberás correr de nuevo en la macro.
PARTE 2.
Generar hipervínculo de Sharepoint.
Parte más compleja aún.
Coge un hipervínculo que tengas con tu explorador de este estilo:
C:\\user\"Tu usuario"\Nombre red\Carpeta de turno...
Coge ese mismo vínculo en Sharepoint
La primera parte debes cambiarla entera. Se puede hacer con fórmulas de texto, pero además debes reemplazar 5 ó 6 caracteres especiales por los nuevos que tenga la codificación.
A revisar:
Espacios
Acentos
Carcateres especiales
@@AprendizdeExcel Gracias por la pronta respuesta. Por las necesidades que tengo, necesitaba montar la segunda opción, pues quiero establecer permisos de acceso a personas de fuera de la empresa.
Ya había intentado algo parecido y al final lo he conseguido todo con fórmulas, gracias en gran parte a tus videos.
Por cierto, una última pregunta: ¿Se puede cambiar de forma masiva también la info en pantalla para el hipervínculo (cuando sitúas el ratón encima), de forma que no aparezca la totalidad de la ruta?
Enhorabuena por tu canal. Me resulta muy interesante y de gran ayuda.
Saludos
Hola, lo explicas muy fácil. Me alegro haberte encontrado! Se puede hacer lo mismo si el vínculo es a una pestaña de una hoja de cálculo? Te aclaro un poco, tengo unos 1000 registros cada uno con su nombre y para sacar el dato de facturación de cada registro, tengo un vinculo dentro de un BUSCARV, ¿también se pueden cambiar masivamente los vínculos? Muchas gracias por tu trabajo
Si claro!
Echa un vistazo a este vídeo:
ua-cam.com/video/c28L-birLbA/v-deo.html
Para meterlo en la macro la dirección será la #, el nombre de la hoja seguido de una admiración y la celda. Es decir:
#hoja1!A1
muchas gracias , si me funciono muchas gracias, comparti por correo la carpeta con los pdf y el excel ya no funcionan los hipervinculos, ahi se puede hacer algo para que jalen los hipervinculos en otra compu?
Es posible que los vínculos sean distintos en ambos ordenadores?
😱👌👍
Gracias Victor!
Muy buen video, pero se puede hacer esto con un hipervinculo dentro del mismo libro? Gracias
Hola, como puedo enlazar hipervinculos de forma masiva entre celda de una hoja a otra; por ejemplo Celda A2 (Hoja 1) hacia la Celda A2 (Hoja 2) y así de forma ordenada hasta la celda A546 de ambas hojas
Hola maestro, tengo un archivo en el cual utilice la fórmula de BuscarV para pasar los hipervínculos de la hoja2 a la hoja1 y que se vayan acomodando al orden en cuál están acomodada la información, pero problema que al hacerlo los hipervínculos pasan directamente solo el texto y no su vinculación con la ruta, hay una forma de solucionar eso?
Para extraer los hipervínculos prueba con esto:
ua-cam.com/video/MvCclTlBYZI/v-deo.html
Luego los puedes volver a montar
@@AprendizdeExcel Muchas gracias, no fue exactamente lo que buscaba pero me ayudó a mejorar la fórmula y ya lo logré hacer enserio muchas gracias! 🫶🏼
Me alegro que lo hayas solucionado 😉
Hola, alguien sabe por qué me toma otro número de factura y no la del nombre del hipervinculo ?
muy buen video.. para hacerlo pero que la ruta del vinculo sea del mismo libro ¿como seria el proceso?
En este vídeo lo explico:
ua-cam.com/video/c28L-birLbA/v-deo.html
buenas tardes, excelente video, queria saber como se puede hacer un indice para una lista de precios.. yo lo se hacer pero de a uno, queria saber como hacerlo automatico con todos los titulos
Crea una base de datos en la que esté los hipervínculos que quiieres y luego con la fórmula hipervinculo sacas los hipervínculos con buscarv o índice
Hola cómo puedo copiar varios vínculos y ponerlos en formato solo lectura
Excelente. Quiero plantilla.
Como puedo modificar el código para cambiar las columnas, en el código cambio las letras a las columnas correspondientes pero no reconoce el código.
Muy bueno todo pero como hacer para empezar los hipervínculos desde celdas distintas, y no con toda la columna??
Ayudame!! porfavor
¿Qué patrón de hipervínculos quieres?
Hola buenas tardes maestro buen día tengo dos preguntas es que cuando quiero crear hipervinculos en la celda la tengo por números por ejemplo “0001” y al momento de creer el hipervinculo lo crea como 1 y quiero que respete los 3 ceros y la otra cree que me pueda pasar la fórmula de acortar el nombre del pdf del punto y guion
Punto 1.
El texto de la celda del 0001, ¿cómo lo tienes? ¿Lo consigues con formato de celda o es una celda en formato de texto con todos los 0 delante?
Si consiguieras los ceros como formato y no como texto, él estaría entendiendo que ahí hay un 1, no un 0001.
La forma de solucionar eso sería decirle en el código que quieres ese formato. Es decir:
valorFormateado = Format(Range("B" & i).Value, "000")
Punto 2. El vídeo que lo explica es este:
ua-cam.com/video/zfaLNezqgHw/v-deo.html
Pero si tienes una versión de Excel 365 es mucho más sencillo:
ua-cam.com/users/shortsy_5nc9gptZM
Y si los nombres d e las facturas no están en orden se puede ? :(
Claro!
Hola ...podriais explicarme como puedo pasar datos de una hoja de calculo a otra predeterminando los datos que quiero de la primera para que los ordene en la segunda. Ej...quiero que la celda b4 de la primera hoja la ordene en la c5 de la segunda y asi consecutivamente varias hojas que seleccione que las ordene en la segunda hoja.
Muchas gracias
Quizás la fórmula dirección te ayude
excelente tutorial, muchas gracias. una consulta como puedo fijar la ruta de acceso, ejemplo aumente la nombre a un documento y el hipervínculo sale.... no se puede abrir el archivo especificado. por favor ayuda @Aprendiz de Excel
Es posible que el nombre del archivo que hayas creado no sea correcto. Quizás le falta algún carácter, una barra o algo.
Comprueba el enlace e intenta pegarlo en tu explorador, a ver si funciona.
Un saludo
Hola buenas noches, como puedo sacar esos datos que salen en El modulo (macro)
¿Qué datos Aldo?
algo estoy haciendo mal...solo me sale en la primera linea..help
ya lo solucione, gracias
Me alegro que lo hayas solventado ☺️
@@mdiaz2512 Cómo??? me pasa lo mismo :(
Y si modifico el nombre del hipervinculo afectaría ??
Si, deberías ajustarlo o automatizarlo
Hola estimado, muchas gracias por el tutorial… me ha servido muchisimo 🙌🏼. Te quería pedir si existe una forma que pueda tener una carpeta con datos en pdf mas el excel con hipervinculos hacia ellos, pero que esa carpeta pueda pegarla en otro computador sin tener problemas de ruta de acceso al archivo. En mi caso tengo esa carpeta en disco “C”, pero corto esa carpeta y la pego en disco “D” y ya no abre el pdf con el hipervinculo. Como podria hacer “movil” esa carpeta con datos?
Muchaa gracias. Saludos
Si, Ignacio, claro que se puede. El Excel lo puede todo 😉
Hay una instrucción con VBA que te da la carpeta donde está el archivo de Excel.
Esa instrucción se escribe así:
ThisWorkbook.Path
Por ejemplo, si quieres que lo ponga en A1 sería esto:
Sub Ruta()
Range("C1").Value = ThisWorkbook.Path
End Sub
Eso daría un resultado así:
C:\Excel
Al final no tiene barra. Si lo quieres con barra sería así:
ThisWorkbook.Path & "\"
Supongamos que en la columna A tuvieras los nombres de los PDF de la siguiente forma: "Esto es un ejemplo.pdf"
En el bucle deberías poner:
ThisWorkbook.Path & "\" & Range("A" & i).value
hola solo quiero un listado de carpetas no de archivos.
Como haría para que un hipervinculo como número incremente en función de las hojas que vayan creándose 😢
Hola Lorena, el número de páginas las puedes sacar también con código
Q pasa si las columnas no coinciden? O sea, si no están alfabéticamente?
¿Cómo?
Adapta el bucle a dónde estén tus URL y los nombres que desees poner
Todo el proceso me sale perfecto, pero tengo un problema cuando mando el archivo por correo electrónico, al mandarlo se modifican los hipervinculos, debo de mencionar que mis archivos están en un servidor de una empresa que se usa como nube y al cual todos pueden acceder, y el documento solo es de uso interno, alguien puede ayudarme a solucionar este problema?. Gracias.
Es posible que el hipervínculo no se modifique y ese sea el problema.
Sus compañeros es posible que para acceder al mismo archivo tengan una ruta distinta. Normalmente compuesta por su nombre de usuario.
Compruebe que es eso y separe su nombre antes de componer el hipervínculo
No me deja copiar ruta de acceso
Saludar y un feliz año copié la macro y aparece un error que indica que no acepta este método tengo Excel 2013 muchas gracias
¿Qué error te marca exactamente?
Error 438 Crash : el error 438 impedirá que la máquina realice una operación de programa regular. Esto surge cuando Microsoft Excel no responde correctamente a la entrada, o no sabe qué salida se requiere a cambio.
Ese es el error
Muchas gracias por su atención
El código amigo
CASI CASI....
Hola. Una consulta. Despues de la orden Cells (i, "c"), me manda un error de sintaxis, diciendo que se esperaba := ¿por qué es así?
¿Qué has puesto exactamente?
La macro funciona con este comando (si necesitas saltar a la línea siguiente pon "_" como en el vídeo, si no pon la línea entera)
ActiveSheet.Hyperlinks.Add Cells(i, "C"), Cells(i, "A"), TextToDisplay:=CStr(Cells(i, "B"))
También te puede estar fallando si no tienes datos en la columna A. Pon un par de url para probar
Salu2
Argh! Me da un error! Me marca la instrucción que dice N = Range... y me indica que no se ha definido una variable... ¿alguien sabe por qué me pasa eso?
Yo misma me respondo! Tenía la opción de "Declarar siempre las variables" (Opción Explicit) y por eso me la estaba pidiendo... conclusión: resuelto!
Eso es, tenías Opcion Explict
En ese caso debes definir todas las variables que uses, en este caso Integer
De todas formas tb podrías podrías cambiar el bucle y poner de 1 a 20 (o el número que necesitaras) y listo
Salu2
Buen tutorial, Amigo tengo una columna que en cada fila me trae un valor especifico (celda) de una hoja diferente... Quisiera hacer hacer algo similar, es posible?
Imagino que si, pero explicate mejor
@@AprendizdeExcel claro amigo mira trabajo con balances y analisis de cuentas , cada "cuenta" tiene una hoja independiente con un saldo que esta vinculado y se muestra detallado en una columna en la "K" en este caso , lo que yo quiero conseguir es hipervincular estas referencias
prnt.sc/zhqxpv
y solo consigo hacerlo de manera manual asi, prnt.sc/zhrbob
Los enlaces no me cargan, no se por qué.
Si tienes los hipervínculos en la columna K cambia en la macro la A por la K
@@AprendizdeExcel lo intente pero no resultó, tomó la referencia de la celda como URL no como referencia del mismo archivo
Hola, esta muy bueno, pero cuando quiero ejecutar el macro me aparece un error
¿Qué error te aparece? ¿Qué versión de Excel usas?
@@AprendizdeExcel me aparece error 13 (te puse otro comentario hoy ahi lo deje mas detallado). Pero tengo el excel 2010.
No me funciona en Windows 7, algún tutorial? 😞
Qué versión de Office?
@@AprendizdeExcel Gracias, si encontré como hacerlo.
Tutorial para modificar hipervinculos de forma masiva
ua-cam.com/video/ixuGwxBhJo4/v-deo.html
hola queria crear una funcion para que me hiciese los hiper enlaces de un articulo automaticos, me puedes ayudar?
function replaceKeywordsWithLinks() {
var sheet = SpreadsheetApp.getActiveSheet();
var keywordRange = sheet.getRange("A2:A");
var linkRange = sheet.getRange("B2:B");
var textRange = sheet.getRange("C2");
var resultRange = sheet.getRange("D2");
var keywords = keywordRange.getValues();
var links = linkRange.getValues();
var text = textRange.getValue();
for (var i = 0; i < keywords.length; i++) {
var keyword = keywords[i][0];
var link = links[i][0];
var pattern = new RegExp(keyword, "g");
text = text.replace(pattern, "" + keyword + "");
}
resultRange.setValue(text);
}
Esta función buscará las palabras clave en la columna A, las URLs correspondientes en la columna B, y el texto al que se aplicarán los hiperenlaces en la columna C. El resultado se mostrará en la columna D.