Saltar al contenido

Macro para navegar por internet


grema90

Recommended Posts

publicado

Tengo una macro que me abre ie y me abre una web https logueandome con user y password, pero después de eso necesito que navegue dentro de la pagina a otra dirección, el primer paso me lo hace con la web que adjunto pero el siguiente paso no, me echais una mano. Es decir despues de .Navigate range("I4").Value tengo que ir a .Navigate range("j4").Value, como construyo esta macro. (puedo jacerlo con ie o con cualquier otro navegador).

Un saludo.

IR()

Set obj = CreateObject("InternetExplorer.application")

With obj

.navigate Range("I4").Value

End sub

publicado

Hola, no sé si te he entendido muy bien, prueba con esto haber si es lo que necesitas :

Range("I4").Select

Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True

Range("J4").Select

'ActiveCell.FormulaR1C1 = _

'"Ideas y aportes | Ayuda Excel"

Range("J4").Select

Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True

Un saludo.

publicado

la web a la que accedo es https, no se si eso influirá pero me da este error y no se loguea

ERROR

No ha sido posible crear una sesión para el usuario

Con este metodo no va.

Gracias

publicado

lo he probado con páginas https y en una intranet con user y password, y funciona correctamente , podrías decirme si el problema lo tienes al entrar desde la propia página o si puedes acceder directamente a ella? Podrías subir un archivo o dar más datos al problema?

publicado

ahora funciona pero:

Sub nuevaweb()

Range("b5").Select

Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True

Range("b6").Select

ActiveCell.FormulaR1C1 = _

Range("b6").Select

Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True

End Sub

salen dos paginas, no nageva sobre la misma pagina sino que abre una y después otra pagina, no sobre la misma, aun así me vale.

Pero ahora me pasa otro problema, los dos hiperlinks son variable, es decir, son usser y pass diferentes y ademas van cambiando una vez al mes, como le indico al hiperlink que tome el valor de la celda. y la segunda dir tiene incluida la fecha que también es variable. Como hago esto?

publicado

Prueba con esto:



Sub nuevaweb()
Dim myRange As Range
Set myRange = Range("B5:B6")


myRange.Select
If Selection.Hyperlinks.Count > 0 Then
Selection.Hyperlinks.Delete
End If
Range("B5").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
ActiveCell.Value, TextToDisplay:=ActiveCell.Text

Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Range("B6").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
ActiveCell.Value, TextToDisplay:=ActiveCell.Text

Range("B6").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Range("B5").Select

End Sub

[/CODE]

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 109 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Current Donation Goals

    • Raised 0.00 EUR of 130.00 EUR target
  • Archivos

  • Estadísticas de descargas

    • Archivos
      187
    • Comentarios
      97
    • Revisiones
      29

    Más información sobre "Un juego del Rabino en Excel"
    Última descarga
    Por pegones1

    2    1

  • Crear macros Excel

  • Mensajes

    • Que tal nuevamente,  adjunto una solución alternativa: =MAX(A:.A)-BYROW(F4:.AK20,LAMBDA(r,BUSCAR(2,1/(r=0),F3:.AK3))) Cabe mencionar que esta solución requiere funciones nuevas como RECORTAR.RANGO. CONTADOR FINAL (Solucion).xlsb
    • Buenos días,  espero se encuentren bien de salud compañeros, Favor me podrían ayuda con lo siguientes como se podría hacer cuando tengo una tabla dinámica que  amedida que se aumente las columnas fechas con data un formula que se coloco al final busque o analice siempre la ultima fila y columna de la fecha. Coloco un ejemplo
    • @JSDJSD Excelentes, GRACIAS POR TU SOPORTE , me ayudo demasiado es exactamente lo que quería. 5 ESTRELLAS
    • 'Opción 1 Sub FiltrarSKUPorFecha(): Application.ScreenUpdating = False Dim ultimaFila As Long, fila As Long Dim diccionarioSKU As Object Dim listaEliminar As Object Dim fechaActual As String, fechaSiguiente As String Dim f As Variant With Sheets("Consolidado") ultimaFila = .Cells(.Rows.Count, 1).End(xlUp).Row ' Crear diccionarios para comparar SKU y almacenar filas a eliminar Set diccionarioSKU = CreateObject("Scripting.Dictionary") Set listaEliminar = CreateObject("Scripting.Dictionary") ' Recorrer desde la primera fila hasta la penúltima For fila = 2 To ultimaFila - 1 fechaActual = .Cells(fila, 1).Value fechaSiguiente = .Cells(fila + 1, 1).Value ' Solo comparar la fecha actual con la siguiente (inmediatamente superior) If fechaActual <> fechaSiguiente Then diccionarioSKU.RemoveAll ' Limpiar el diccionario antes de llenarlo ' Guardar los SKU de la fecha siguiente (solo de la siguiente) For f = fila + 1 To ultimaFila If .Cells(f, 1).Value <> fechaSiguiente Then Exit For diccionarioSKU(.Cells(f, 2).Value) = 1 Next f ' Revisar los SKU de la fecha actual y marcar los que deben eliminarse For f = fila To 2 Step -1 If .Cells(f, 1).Value <> fechaActual Then Exit For ' Solo eliminar si el SKU no está en la fecha siguiente If Not diccionarioSKU.exists(.Cells(f, 2).Value) Then listaEliminar(f) = 1 ' Marcar fila para eliminar después End If Next f ' Ya no es necesario seguir buscando después de comparar la primera y la siguiente fecha Exit For End If Next fila ' Eliminar las filas marcadas sin afectar el bucle principal For Each f In listaEliminar.keys .Rows(f).Delete Next End With MsgBox "Completado correctamente.", vbInformation End Sub 'Opción 2 Sub FiltrarSKUPorFecha1(): Application.ScreenUpdating = False Dim ultimaFila As Long, fila As Long Dim listaEliminar As Collection Dim fechaActual As String, fechaSiguiente As String Dim f As Variant, i As Long Dim SKUExiste As Boolean With Sheets("Consolidado") ultimaFila = .Cells(.Rows.Count, 1).End(xlUp).Row ' Inicializar la colección para marcar las filas a eliminar Set listaEliminar = New Collection ' Recorrer desde la primera fila hasta la penúltima For fila = 2 To ultimaFila - 1 fechaActual = .Cells(fila, 1).Value fechaSiguiente = .Cells(fila + 1, 1).Value ' Solo comparar la fecha actual con la siguiente (inmediatamente superior) If fechaActual <> fechaSiguiente Then ' Revisar los SKU de la fecha actual y marcar los que deben eliminarse For f = fila To 2 Step -1 If .Cells(f, 1).Value <> fechaActual Then Exit For ' Comprobar si el SKU está en la fecha siguiente SKUExiste = False For i = fila + 1 To ultimaFila If .Cells(i, 1).Value <> fechaSiguiente Then Exit For If .Cells(i, 2).Value = .Cells(f, 2).Value Then SKUExiste = True Exit For End If Next i ' Si el SKU no se encuentra en la fecha siguiente, marcar para eliminar If Not SKUExiste Then listaEliminar.Add f ' Marcar fila para eliminar después End If Next f ' Ya no es necesario seguir buscando después de comparar la primera y la siguiente fecha Exit For End If Next fila ' Eliminar las filas marcadas sin afectar el bucle principal For Each f In listaEliminar .Rows(f).Delete Next f End With MsgBox "Completado correctamente.", vbInformation End Sub   TABLA ELIMINAR.xlsm
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.