Como establezco un hyperlink desde un textbox en un formulario excel, en hoja diferente.

Espero me puedan auxiliar, tengo que establecer un hyperlink desde un formulario por medio de un textbox solo que los datos los debo ingresar son en la Hoja8 (por citar un ejemplo) pero no logro hacerlo, si lo trabajo en la Hoja1 entonces si se inserta.

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=ActiveCell.Value, _
TextToDisplay:=ActiveCell.Value

Que se debe hacer para que los datos vayan a la hoja8 y no a la hoja1 ( apenas empiezo a usar excel).

1 respuesta

Respuesta

ActiveSheet se refiere a la hoja activa en el momento.

Substituyendo eso con la referencia a la hoja donde quieres poner el hipervínculo seria suficiente, de la siguiente manera:

Sheets("Hoja8").Hyperlinks.Add Anchor:=Sheets("Hoja8").Cells(1, 1), _
Address:=ActiveCell.Value, TextToDisplay:=ActiveCell.Value

Fijate que en el atributo Anchor. el valor "Selection" no te va a funcionar, debes especificar una celda, ya sea con Cells o Range

Andy M.

¡Gracias!   

  Muchas gracias por tu respuesta, aunque  si insertan los datos no se insertan como hiperlink. se insertan como texto, ya que no se activa como vinculo en dicha hoja. 

Private Sub CommandButton1_Click()
Dim NombreHoja As String
Dim HojaDestino As Range
Dim NUevaFila As Integer
Dim Archi As String
On Error Resume Next

NombreHoja = "Hoja4"

Set HojaDestino = ThisWorkbook.Sheets(NombreHoja).Range("A1").CurrentRegion
NUevaFila = HojaDestino.Rows.Count + 1
With ThisWorkbook.Sheets(NombreHoja)
.Cells(NUevaFila, 1).Value = Me.TextBox1.Value
.Cells(NUevaFila, 2).Value = Me.TextBox2.Value
.Cells(NUevaFila, 3).Value = Me.TextBox3.Value
.Cells(NUevaFila, 4).Value = Me.TextBox4.Value
.Cells(NUevaFila, 5).Value = Me.TextBox5.Value
.Cells(NUevaFila, 6).Value = Me.TextBox6.Value
Range("F" & NUevaFila).Select
Sheets("Hoja4").Hyperlinks.Add Anchor:=Selection, Address:=ActiveCell.Value, _
TextToDisplay:=ActiveCell.Value


End With

El código que te di hace lo que pides. El que tu tienes no funciona porque no seguiste mis instrucciones y ademas estás usando On Error Resume Next. Si borraras esa línea te darás cuenta del error de tu macro, que es justamente lo que te dije en mi respuesta. "Selection" no funciona en la propiedad Anchor en este caso.

Al usar On Error Resume Next estas ignorando el error de ejecución que se genera al agregar el hipervínculo así que solo ejecuta lo que hay arriba, que es poner los valores como texto, pero la parte del hipervínculo no hace nada porque lo tienes mal.

Tu código está generando un error de argumento no válido, justamente lo que te dije en mi respuesta:

Fíjate que en el atributo Anchor. El valor "Selection" no te va a funcionar, debes especificar una celda, ya sea con Cells o Range

Primero debes entender que significa cada cosa en un lenguaje de programación, aquí veo que todo el mundo usa On Error Resume Next sin saber que es, y luego andan volviéndose locos porque no saben que pasa con su macro, y la respuesta esta en esa línea.

Suerte,

Andy M.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas