Pregunta fácil Macro

¿Cómo hago para cambiar todos los "AB" por algún código y que solo cambiando el código me los cambie en los siguientes hipervínculos, dentro de una macro?
Tenia entendido que este código anda, pero a la hora de ponerlo en los hipervinculso de abajo no me da el resultado que quiero. No se como poner "Symbol" en los hipervínculos en vez de "AB", creo que lleva comillas o & o algún otro carácter.
Symbol= "AB"
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://moneycentral.msn.com/investor/invsub/results/statemnt.aspx?lstStatement=Balance&symbol=US%3aAB&stmtView=Ann" _
, Destination:=Range("$a$65"))
.Name = "statemnt.aspx?lstStatement=Balance&symbol=US%3aAB&stmtView=Qtr"
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://moneycentral.msn.com/investor/invsub/results/statemnt.aspx?symbol=US%3aAB&stmtView=Qtr" _
, Destination:=Range("$A$116"))
.Name = "statemnt.aspx?symbol=US%3aAB&stmtView=Qtr"
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://moneycentral.msn.com/investor/invsub/results/statemnt.aspx?lstStatement=Balance&symbol=US%3aAB&stmtView=Qtr" _
, Destination:=Range("$A$179"))
.Name = "statemnt.aspx?lstStatement=Balance&symbol=US%3aAB&stmtView=Qtr"

1 Respuesta

Respuesta
1
No estoy seguro de entender lo que quieres. Mira este ejemplo de código que creo te puede ayudar.
Sub Prueba()
Dim url As String
Dim name As String
url = "URL;http://moneycentral.msn.com/investor/invsub/results/statemnt.aspx?lstStatement=Balance&symbol=US%3aAB&stmtView=Ann"
name = "statemnt.aspx?lstStatement=Balance&symbol=US%3aAB&stmtView=Qtr"
url = WorksheetFunction.Substitute(url, "AB", "Symbol")
name = WorksheetFunction.Substitute(name, "AB", "Symbol")
With ActiveSheet.QueryTables.Add(Connection:=url, Destination:=Range("$a$65"))
.name = name
End With
Lo primero declaro las variables para manejarlas mejor luego en las funciones. Luego sustituyo el nombre AB por Symbol. Y finalmente hago la llamada a la función.
Ya me dirás si es lo que necesitas.
Al declarar las variables, si yo después quiero cambiar AB por AJ, lo único que tengo que hacer es cambiar la variable declarada, ¿para qué en el hipervínculo cambie AB por AJ?
Lo que tendira que hacer es:
Dim url As String
Dim name As String
url = "URL;http://moneycentral.msn.com/investor/invsub/results/statemnt.aspx?lstStatement=Balance&symbol=US%3aAB&stmtView=Ann"
name = "statemnt.aspx?lstStatement=Balance&symbol=US%3aAB&stmtView=Qtr"
url = WorksheetFunction.Substitute(url, "AJ", "Symbol")
name = WorksheetFunction.Substitute(name, "AJ", "Symbol")
El cambio que hice arriba AJ por AB causaría este efecto en el hipervínculo:
url = "URL;http://moneycentral.msn.com/investor/invsub/results/statemnt.aspx?lstStatement=Balance&symbol=US%3aAJ&stmtView=Ann"
name = "statemnt.aspx?lstStatement=Balance&symbol=US%3aAB&stmtView=Qtr"
Gracias.
Para no tener que cambiar la variable que contiene directamente el hipervínculo a mano, que puede llevarte a algún error (borrar más o menos de lo que necesitas), es por lo que con ayuda de la función Substitute hago el cambio.
Si el cambio que quieres es Ab por AJ simplemente cambias en el código de ejemplo que te día las dos lineas como sigue:
url = WorksheetFunction.Substitute(url, "AB", "AJ")
name = WorksheetFunction.Substitute(name, "AB", "AJ")
El cambio que tu haces no cambia nada el el hipervínculo, ya que no existe AJ en las variables. Y si existiera dejaría "Symbol" en el hipervínvculo, nunca AJ. No sé como te puede salir eso.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas