tag:blogger.com,1999:blog-4623278671508370136.post7502387009080317617..comments2023-08-01T13:39:53.991+02:00Comments on EXCEL FORO: Un blog de Excel: VBA: UpdateLink - Actualizar vínculos en Excel.Excelforo - Ismael Romerohttp://www.blogger.com/profile/17680553534095355222noreply@blogger.comBlogger55125tag:blogger.com,1999:blog-4623278671508370136.post-37483212350747111302019-02-02T09:57:51.664+01:002019-02-02T09:57:51.664+01:00Siempre hay que rebuscar 'soluciones' imag...Siempre hay que rebuscar 'soluciones' imaginativas :D<br /><br />SaludosExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-37365756829464994392019-02-01T20:21:23.858+01:002019-02-01T20:21:23.858+01:00Gracias Profesor sospecho de unas lista de validac...Gracias Profesor sospecho de unas lista de validación que esta en un libro aparte, un libro tiene formulas para traer valores de 3 libros diferentes. y las listas de validación de un libro con dicho nombre. Para Actualizar los datos he puesto la macro en cada hoja y al abrir el libro que necesite se abra el de validación para que aparezcan los datos validados si esta cerrado no salen las listas. No Pude quitar el mensaje de Continuar o Modificar vínculos. Mientras me actualice los valores sin tener que abrir los 3 libro mas. Quedo satisfecha hasta que descubra como solucionar la parte estética. Gracias enormemente Dignorahttps://www.blogger.com/profile/12607030110924684761noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-27473119886588112802019-01-31T10:22:14.762+01:002019-01-31T10:22:14.762+01:00Hola!
qué raro... o sea siguiendo las indicaciones...Hola!<br />qué raro... o sea siguiendo las indicaciones del post y además cambiando las opciones de Excel, te pregunta???<br />Lo he vuelto a probar con mi última versión, por si hubiera cambiado algo... pero a mi me sigue funcionando como se espera, i.e., marcando la opción comentada en el post no vuelve a preguntar.<br />En todo caso es 'normal' por que esta funcionalidad siempre ha generado mucha confusión por su comportamiento 'errático'<br /><br />Siento no poder decirte más<br />:'(<br /><br />SldsExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-23152142738230501242019-01-31T06:23:16.861+01:002019-01-31T06:23:16.861+01:00Hola Profesor.
Me ha servido muchísimo este tema....Hola Profesor. <br />Me ha servido muchísimo este tema. Pero me sigue apareciendo el mensaje que pregunta si quiero actualizar los vínculos, le doy que sí y sale el mensaje de Continuar o Modificar vínculos. Le doy continuar y se actualiza sin ningún problema. ¿como hacer que este mensaje no aparezca, no afecta los datos solo que otros usuarios se asustan creen que han hecho algo mal. Fui a opciones-avanzadas-general-desmarque consultar actualizar vínculos y todavía sale el mensaje. <br />Gracias por este espacio que tanto me ayudaDignorahttps://www.blogger.com/profile/12607030110924684761noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-64994374078827803892017-05-18T17:46:18.059+02:002017-05-18T17:46:18.059+02:00Este comentario ha sido eliminado por el autor.Grahttps://www.blogger.com/profile/18141914656877860451noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-71402937519788048082017-05-18T17:40:28.146+02:002017-05-18T17:40:28.146+02:00bueno, me parece que funciona mi experimento...si ...bueno, me parece que funciona mi experimento...si hay otra forma, please soy todo oidos...<br />Al abrir el archivo y no encontrar el vinculo dice el mensaje de alerta: "este libro contiene uno o más vinculos que no se pueden actualizar" y el resto, pero si hago click en "continuar" , sí ejecuta mi macro!<br /><br />Sub cambialinks()<br />Application.DisplayAlerts = False<br />Application.AskToUpdateLinks = False 'esta instruccion no hace nada!<br />On Error GoTo error_sub<br /><br /> Dim fso As Object<br /> <br /> 'objeto FSO para funciones FileExists y FolderExists<br /> Set fso = CreateObject("Scripting.FileSystemObject")<br /> <br /> <br />rutaProg1 = "C:\Users\"<br />rutaProg2 = "D:\Usuario\"<br />rutaProg3 = "C:\auxiliar\"<br /><br /> If fso.FolderExists(rutaProg1) = True Then<br /> nombreruta = rutaProg1<br /> Else<br /> If fso.FolderExists(rutaProg2) = True Then<br /> nombreruta = rutaProg2<br /> Else<br /> If fso.FolderExists(rutaProg3) = True Then<br /> nombreruta = rutaProg3<br /><br /> End If<br /> End If<br /> End If<br /><br /> MsgBox "actual directorio de programa " & nombreruta<br /> <br /><br />'el asunto es de donde está viniendo el archivo: si de Prog1, de Prog2 o Prog3 ?<br />'uso el error como verificacion del link que tiene guardado el archivo<br /><br />On Error Resume Next<br /><br /> ChDir nombreruta<br /> ActiveWorkbook.ChangeLink Name:= _<br /> "C:\Users\MILINK.xlsm", NewName _<br /> :="MILINK.xlsm", Type:=xlExcelLinks<br /> <br /> On Error Resume Next<br /><br /> ChDir nombreruta<br /> ActiveWorkbook.ChangeLink Name:= _<br /> "D:\Usuario\MILINK.xlsm", NewName _<br /> :="MILINK.xlsm", Type:=xlExcelLinks<br /><br />On Error Resume Next<br /><br /> ChDir nombreruta<br /> ActiveWorkbook.ChangeLink Name:= _<br /> "C:\auxiliar\MILINK.xlsm ", NewName _<br /> :="MILINK.xlsm", Type:=xlExcelLinks<br /> <br /> GoTo limpiavariables<br /> <br />error_sub:<br /> MsgBox "error al cambiar vinculo"<br /> <br />limpiavariables:<br /> <br />Set rutaProg1 = Nothing<br />Set rutaProg2 = Nothing<br />Set rutaProg3 = Nothing<br /> Set fso = Nothing<br /> Set nombreruta = Nothing<br /> <br />End Sub<br /><br />sigo probando........no canto victoria aun<br />gracias!!!Grahttps://www.blogger.com/profile/18141914656877860451noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-54495121575397778022017-05-18T14:55:15.137+02:002017-05-18T14:55:15.137+02:00gracias por contestar!!!.Exacto: hay una ruta en l...gracias por contestar!!!.Exacto: hay una ruta en la creación del archivo...que no sera la misma al cambiar de compu...y desde ahí, comparar con las rutas de las otras compus (que seran siempre las mismas, creadas esperando recibir el vinculo y los archivos a trabajar)<br /><br />Seria algo como:<br /><br />"verificar si la ruta (o directorio) existe" ..........(algunas compus tienen unidad D, en otras hay varios usuarios, en algunas seré administrador, en otras invitada, etc)<br />"cambiar en el libro de trabajo actual el vinculo a la nueva ruta" (el vinculo se llama igual "milink.xlsm", lo que varia es la ubicación en cada compu)<br />"actualizar"<br />"grabar"<br /><br />no tengo en red, sino que voy copiando para trabajar segun la compu que tenga disponible.<br />Es tremendo el trabajo de cambiar manualmente los libros vinculados , lo cual se hace exitosamente, por supuesto...buscando mi archivo milink.xlsm en la ruta de esta compu.....<br /><br />otra forma de explicarlo seria decir que quiero preparar un grupo de archivos y su vinculo "portables", para llevar adonde quiera....<br />Mil gracias!!!!Grahttps://www.blogger.com/profile/18141914656877860451noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-70866075523552433052017-05-18T14:10:42.190+02:002017-05-18T14:10:42.190+02:00Este comentario ha sido eliminado por el autor.Grahttps://www.blogger.com/profile/18141914656877860451noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-72185713757834414682017-05-18T09:39:08.581+02:002017-05-18T09:39:08.581+02:00Hola,
¿cambia la ruta según la computadora?, te re...Hola,<br />¿cambia la ruta según la computadora?, te refieres a que el usuario tiene rutas distintas?...<br />Me parece muy extraño que cambie por si mismo.. nunca me encontré tal cosa :(<br />No creo exista una manera rápida para que desde Excel localicemos un fichero por el océano de carpetas y subcarpetas de las distintas redes o unidades del PC buscando la ruta de un fichero en concreto.<br /><br />El editor de vínculos nos dirá la ubicación del vínculo que existía en el momento de la creación.. y solo a partir de eso podemos gestionar o cambiar las rutas.<br /><br />Siento no poder decirte nada más<br /><br />Un cordial saludoExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-85539139633309305142017-05-17T15:56:12.210+02:002017-05-17T15:56:12.210+02:00hola!!, yo estoy con algo parecido....Mi vinculo s...hola!!, yo estoy con algo parecido....Mi vinculo siempre se llama igual pero cambia la ruta según la computadora que use..... a veces esta en C:\Users\MILINK.xlsm otras D:\Usuario\MILINK.xlsm y otra C:\auxiliar\MILINK.xlsm .<br />Necesitaria que busque cual es la ruta actual, que cambie el vinculo y luego actualice (esto ultimo es más facil)...Mil gracias!!!!!.....siempre consulto tu blog!!!!Grahttps://www.blogger.com/profile/18141914656877860451noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-22584668178302347132017-05-13T09:40:02.095+02:002017-05-13T09:40:02.095+02:00Hola Sonia,
me refiero a que puedes combinar ambas...Hola Sonia,<br />me refiero a que puedes combinar ambas ideas para realizar el cambio que deseas.<br />De todas formas tomo nota e intentaré publicar un post con la solución<br />Un saludoExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-24293290423871633932017-05-12T16:15:18.050+02:002017-05-12T16:15:18.050+02:00Hola Ismael,
pero el link al que me remites es má...Hola Ismael, <br />pero el link al que me remites es más bien para cambiar ficheros de ubicación, ¿cierto? ¿o es que hay una manera de combinar ambas técnicas?<br />Yo lo que necesito es, siguiendo tu ejemplo, en el fichero "VinculosDestino.xlsx" cambiar el link que tiene a "E:\excelforo\VinculosOrigen.xlsx" por "E:\excelforo\2\VinculosOrigen2.xlsx" a través de una macro. Lo que manualmente se ejecuta con Data/Edit Links/Change source.<br />Yo lo necesitaría aplicar en ficheros que contienen unos 10-20 links.<br />Muchas gracias. Saludos, <br />Anonymoushttps://www.blogger.com/profile/04975521567648465470noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-3892673069572220742017-05-08T09:21:23.651+02:002017-05-08T09:21:23.651+02:00Hola Sonia,
me alegro te sirviera el punto anterio...Hola Sonia,<br />me alegro te sirviera el punto anterior.<br />En cuanto a la segunda cuestión, sí sería posible.. fíjate en este ejemplo<br /><a href="http://excelforo.blogspot.com.es/2015/09/vba-el-metodo-movefolder-o-como-cambiar.html" rel="nofollow">http://excelforo.blogspot.com.es/2015/09/vba-el-metodo-movefolder-o-como-cambiar.html</a>, aunque es otra técnica, sería similar para el cambio de los vínculos...<br />SaludosExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-79167354345839879052017-05-07T14:15:02.844+02:002017-05-07T14:15:02.844+02:00Ismael, perdona, se me ocurre otra duda
¿habría al...Ismael, perdona, se me ocurre otra duda<br />¿habría alguna manera de programar con una macro los cambios (no simple actualización) de links de ficheros?<br />Me refiero. Haciendo un trabajo previo en el que describa en una hoja excel:<br />- el link actual que contiene el libro (ruta&nombre del fichero)<br />- y el nuevo link por el que debe cambiar (ruta&nombre del fichero)<br />Y luego programar una macro con estos datos.<br /><br />He buscado por la red, y no encontré una ligera idea de si es posible y cómo.<br />Muchas gracias. Saludos!<br />Anonymoushttps://www.blogger.com/profile/04975521567648465470noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-69876224932655374042017-05-07T14:09:24.254+02:002017-05-07T14:09:24.254+02:00Muchas gracias Ismael por tu pronta respuesta
Tien...Muchas gracias Ismael por tu pronta respuesta<br />Tienes razón. Mi idea era perfecta por lo que veo, salvo por el separador que me comentabas.<br />Revisado. Funciona perfectamente!<br />Ahí queda el código por si a alguien le fuera útil esta combinación.<br />Gracias! Saludos!Anonymoushttps://www.blogger.com/profile/04975521567648465470noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-17791620705029668072017-05-07T10:22:37.460+02:002017-05-07T10:22:37.460+02:00Hola Sonia, y gracias pro tus palabras.
La idea qu...Hola Sonia, y gracias pro tus palabras.<br />La idea que tienes es buena, y la que yo haría...<br />ActiveWorkbook.UpdateLink Name:= _<br />strPath3 & strFile3 & ".xlsx", Type:= _<br />xlExcelLinks<br />asegúrate que tus variables de ruta y file tienen dispuestos correctamente los separadores \ de dirección.<br />Debería funcionar sin problemas<br />SaludosExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-40896391155094682062017-05-07T02:15:35.948+02:002017-05-07T02:15:35.948+02:00Hola Ismael
Primero de todo. Genial foro éste y ot...Hola Ismael<br />Primero de todo. Genial foro éste y otros muchos con los que ayudáis a novat@s como yo.<br /><br />Mi problema es el siguiente. Necesito actualizar en un fichero excel uno sólo de los muchos links que tiene. No me vale abrirlo, porque pesa tanto, que tarda demasiado.<br /><br />Por ello he usado tu macro:<br /><br />ActiveWorkbook.UpdateLink Name:= _<br /> "D:\Users\Sonia\Documents\04.Apr\Forecast\VCEAA Forecast 0417.xlsx", Type:= _<br /> xlExcelLinks<br /><br />Todo correcto, si no fuera porque tanto la carpeta (04.Apr) como el fichero (0417) van a ir cambiando el nombre cada mes y no me va a valer sin entrar a editar la macro. ¿Es posible? ¿Se te ocurre algo?<br /><br />Intento aplicar lo mismo que he hecho para abrir esta carpeta o fichero que varia de nombre cada mes, que es linkear la ruta y nombre de los ficheros a un fichero excel que uso de base donde si establezco el nombre correspondiente del mes, pero no me funciona cuando trato de aplicarlo a "Updatelink Name" con algo así como<br /><br />ActiveWorkbook.UpdateLink Name:= _<br /> strPath3 & strFile3 & ".xlsx", Type:= _<br /> xlExcelLinks <br /><br />Espero haberme explicado. Muchas gracias por adelantado. Saludos!<br />Anonymoushttps://www.blogger.com/profile/04975521567648465470noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-18475421362846818482017-03-16T13:29:09.651+01:002017-03-16T13:29:09.651+01:00Hola Linareca, qué tal estás?
Un placer saludarte ...Hola Linareca, qué tal estás?<br />Un placer saludarte igualmente.<br />No es necesario abrir el archivo origen del vínculo para abrir el fichero final de trabajo... ni siquiera para actualizar los valores.<br />¿Te ha exigido Excel en algún momento tal cosa?<br />SldsExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-15254926022918187192017-03-15T17:32:24.828+01:002017-03-15T17:32:24.828+01:00Mi inquietud es cómo puedo abrir el archivo destin...Mi inquietud es cómo puedo abrir el archivo destino, con vinculos a otro archivo origen, pero sin tener que abrir el origen??Linarecahttps://www.blogger.com/profile/15798752051756820584noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-30068498481303319142015-12-07T22:08:00.148+01:002015-12-07T22:08:00.148+01:00buenas amigo lo que necesito es que en esta formul...buenas amigo lo que necesito es que en esta formula:<br />Sub condicional()<br />salida = " "<br />valor = Range("A1").Value + 1<br />If valor > 11 Then<br /> salida = "X"<br />Else<br />If valor = 10 Then<br /> salida = "0"<br />Else<br />If valor <= 9 Then<br /> salida = " "<br />Else<br />End If<br />End If<br />End If<br />Range("A2") = salida<br /><br />End Sub<br />funcione en toda la hoja de trabajo en excel cual deberia ser el rango para especificar y ademas como colocar el valor cuando es menor que 9 ya que he intentado varias opciones y no me da el resultado de la suma<br />de antemano gracias por la atencion prestada<br />Anonymoushttps://www.blogger.com/profile/06744086890392914731noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-249298046029993292015-12-07T21:18:47.895+01:002015-12-07T21:18:47.895+01:00Hola Miguel,
podrías controlar los errores con una...Hola Miguel,<br />podrías controlar los errores con una rutina<br />On error resume next...<br />'[resto de código que genera el problema]<br />On error goto 0<br /><br />espero haberte entendido bien<br />SaludosExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-56307021514990065442015-12-07T17:37:04.758+01:002015-12-07T17:37:04.758+01:00Buenas tardes, tengo un pequeño problema, me expli...Buenas tardes, tengo un pequeño problema, me explico.<br />Tengo un excel que recopila datos de varios archivos que se van creando automaticamente al mes y el problema es que yo tengo las formulas con los link metidos en las celdas y una macro para que vaya actualizando las formulas y escogiendo cada dia el archivo que corresponde (ejemplo 20151207+"nombre de archivo") y el prblea es que por ejemplo las casillas del resto del mes me pide al archivo y tengo que cancelarlas manualmente para que deje los link hasta que el archivo se cree.<br />existe alguna manera de que se actualicen los link solos y las ventanas emergentes se cancelen si no existe el archivo?<br />actualizo con "activeworkbook.updatelink name:=activeworkbook.linksources"<br /><br />Gracias de antemanoAnonymoushttps://www.blogger.com/profile/04918214632421067200noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-4369220217515665012015-09-15T20:45:42.814+02:002015-09-15T20:45:42.814+02:00Gracias!!! me viene muy bien!!!....hace poco me pa...Gracias!!! me viene muy bien!!!....hace poco me paso algo relacionado.......Justamente porque yo ya sospechaba que editar vínculos no funciona muy bien y para asegurar que estaba vinculado con el archivo origen correcto . volví a seleccionar el archivo origen....pero del apuro seleccioné personal.xlsb , en vez del libro de origen , y se armó un lío . Voy a probar!!!!Grahttps://www.blogger.com/profile/18141914656877860451noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-51884792666581780532015-09-15T20:27:30.297+02:002015-09-15T20:27:30.297+02:00Este comentario ha sido eliminado por el autor.Grahttps://www.blogger.com/profile/18141914656877860451noreply@blogger.comtag:blogger.com,1999:blog-4623278671508370136.post-7455172154224852282014-02-04T08:55:02.584+01:002014-02-04T08:55:02.584+01:00No es raro lo que te ocurre.. ya te digo que esto ...No es raro lo que te ocurre.. ya te digo que esto es algo muy habitual (por desgracia), como digo la única forma segura es tener abierto los dos libros (obviamente desde el mismo equipo), sólo así Excel asegura rutas..<br />Podrías tener como <b>Libro compartido</b> el origen, así diferentes usuarios, en diferentes equipos, podríais tener el Libro abierto sin problemas...<br /><br />SldsExcelforo - Ismael Romerohttps://www.blogger.com/profile/17680553534095355222noreply@blogger.com