Como puedo indicar en macro que el dato que me tiene que insertar lo haga como un hipervínculo

Tengo una macro con una base de datos y quiero que uno de los datos lo inserte en la hoja facturas2021 como un hipervínculo (Hoja3. Cells(fila, 6).Value = Hoja1. Range("D13"). Value). También me gustaría que si el vencimiento fuese en 2022, crease una nueva hoja (p.e: Facturas20222) con la misma cabecera que facturas 2021. ¿Alguien puede ayudarme? Muchas gracias de antemano. No he sabido mandar el adjunto, envío foto

Sub guardar()
Dim celda As Range
Dim fila As Long
'hoja donde va la base de datos(celda hace referencia a un índice de búsqueda

Set celda = Hoja3.Range("A:A").Find(what:=Hoja1.Range("D5").Value, _
After:=Hoja3.Range("a5"))

If celda Is Nothing Then
' si la celda esta vacía hace lo que sigue , si no lo es, manda el mensaje _
de que ya existe la factura

fila = Hoja3.Cells(1200, 1).End(xlUp).Row + 1

Hoja3.Cells(fila, 1).Value = Hoja1.Range("D5").Value
Hoja3.Cells(fila, 2).Value = Hoja1.Range("J11").Value
Hoja3.Cells(fila, 3).Value = Hoja1.Range("D7").Value
Hoja3.Cells(fila, 4).Value = Hoja1.Range("D9").Value
Hoja3.Cells(fila, 5).Value = Hoja1.Range("D11").Value
Hoja3.Cells(fila, 6).Value = Hoja1.Range("D13").Value  (Este es el dato)
Hoja3.Cells(fila, 7).Value = Hoja1.Range("O6").Value
Hoja3.Cells(fila, 8).Value = Hoja1.Range("O7").Value
Hoja3.Cells(fila, 9).Value = Hoja1.Range("O8").Value
Hoja3.Cells(fila, 10).Value = Hoja1.Range("O9").Value
Hoja3.Cells(fila, 11).Value = Hoja1.Range("O10").Value
Hoja3.Cells(fila, 12).Value = Hoja1.Range("O11").Value
Hoja3.Cells(fila, 13).Value = Hoja1.Range("O12").Value
Hoja3.Cells(fila, 14).Value = Hoja1.Range("O13").Value
'La misma operación para cada dato a insertar hay que ir aumentado (fila,+1)
Else
MsgBox " La factura ya existe en la base de datos."
End If

'para dejar las casillas vacías una vez insertados los datos

Hoja1.Range("D5").Value = ""
Hoja1.Range("D7").Value = ""
Hoja1.Range("D9").Value = ""
Hoja1.Range("D11").Value = ""
Hoja1.Range("D13").Value = ""

End Sub

Respuesta
1

Respondo a la consulta del título. Por el otro tema del año por favor inicia una nueva consulta luego de cerrar ésta y con algo más de aclaraciones.

Reemplazá esta línea:

Hoja3.Cells(fila, 6).Value = Hoja1.Range("D13").Value  (Este es el dato)

Por estas otras que además de enviar el dato lo guarda como un hipervínculo. El texto final es opcional.

With Hoja3
     .Cells(fila, 6).Value = Hoja1.Range("D13").Value
     .Hyperlinks.Add Anchor:=.Cells(fila, 6), Address:=.Cells(fila, 6)
End With

PD) podes ver más ejemplos con hipervínculos en video N° 32 de mi canal.

Sdos y no olvides valorar las respuestas.

Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas