Jump to content

Galactico

Members
  • Content Count

    40
  • Joined

  • Last visited

Posts posted by Galactico

  1. En 21/1/2021 at 14:49 , Antoni dijo:

    Como dice el bueno de Haplox, "Está claro que no está claro".

    Te dejo lo del If con lo que he entendido:

    
    For y = 0 To 3
       Select Case True
          Case InStr(1, LCase(c.Offset(0, y)), "out"): c.Offset(0, y) = "NS"
       End Select
    Next

     

    disculpen, me exprese mal, pero la respuesta de antoni sirvió a la perfección, muchas gracias es un genio

     

    otra consulta, por ejemplo, en el for, si fuera de 0 a 100 el valor de y, como podría ingresar algo para que se me guarde la hoja cuando y valga 50, y luego al finalizar (con 100)

     

    muchas gracias de nuevo

  2. buenas, estoy tratando de reducir el tamaño del siguiente código

    If InStr(1, c, "Out") Or InStr(1, c, "out") Then c.Value = "NS" Else c.Value = c.Value
            If InStr(1, c.Offset(0, 1), "Out") Or InStr(1, c.Offset(0, 1), "out") Then c.Offset(0, 1).Value = "NS" Else c.Offset(0, 1).Value = c.Offset(0, 1).Value
            If InStr(1, c.Offset(0, 2), "Out") Or InStr(1, c.Offset(0, 2), "out") Then c.Offset(0, 2).Value = "NS" Else c.Offset(0, 2).Value = c.Offset(0, 2).Value
            If InStr(1, c.Offset(0, 3), "Out") Or InStr(1, c.Offset(0, 3), "out") Then c.Offset(0, 3).Value = "NS" Else c.Offset(0, 3).Value = c.Offset(0, 3).Value

    básicamente es reemplazar texto de una celda y hacer lo mismo en las 3 siguientes a la derecha, pero no se como poder juntar todo en una sola linea de código

     

     

    por otra parte estoy tratando de hacer algo similar con replace

    c.Replace What:="Hola", Replacement:="Adios"

    pero me pasa que, cuando la celda no contiene el texto "Hola" excel me arroja un error que dice lo siguiente:

    Cita

    no hemos encontrado nada que reemplazar

    nota: es posible que los datos que intentas cambiar se encuentren en una hoja protegida. excel no puede cambiar datos de hojas protegidas

     

    espero que se entienda lo que trato de hacer

     

    desde ya agradezco su ayuda

     

    saludos!

  3. buenas noches, dispongo de una macro que me entrega para cada celda un valor distinto de 0 (dentro de un rango de celdas), al utilizar ciclo for, no obtengo todos los resultados inmediatamente (algunas celdas siguen con valor 0, por la naturaleza de los datos de entrada), por lo que debo ejecutar la macro varias veces hasta que se rellenen todos los datos del rango con un valor distinto de 0 

     

    como puedo ejecutar la macro de forma automática varias veces, hasta que todos los valores de mi rango, sean distintos de 0?

     

    muchas gracias

     

  4. buenas tardes

     

    utilizo este código para cargar una macro una vez que haga click en una cierta celda

     

    Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
            If Target.Range.Address = "$BF$1" Then
            Call macro1
            End If
    
            If Target.Range.Address = "$BF$2" Then
            Call macro2
            End If
    
     		If Target.Range.Address = "$BF$2" Then
            Call macro2
            End If
    End Sub

    el tema es que necesito poder realizar esto para muchas mas celdas (de la misma columna) pero no se como hacer algo generico sin tener que copiar y pegar 

     

    gracias por su ayuda

     

    saludos!

  5. buenas noches, dispongo de esta macro para navegar dentro de una pagina web

     

    Sub test()
    
        Dim IE As Object
        Set IE = CreateObject("InternetExplorer.Application")
    
        With IE
            .Top = 0
            .Left = 0
            .height = 1000
            .Width = 1050
            .Visible = True
            .Navigate "www.google.com"
    
            Do While .Busy Or Not .ReadyState = 4: DoEvents: Loop
    
    
           
        End With
    End Sub

    estoy tratando de cambiar el "www.google.com" por el valor de una celda, específicamente concatenando el texto inicial del link (www.google.com/) y el texto de una celda que quiero buscar, por ejemplo:

    el texto inicial seria www.google.com/

    celda a1  contiene el texto "item1" por lo que el link debería quedar como: www.google.com/item1
    celda a2 contiene el texto "item2"por lo que el link debería quedar como: www.google.com/item2

    he intentado de las siguientes formas

    .Navigate Range("a" & CStr(i)).Hyperlinks(1).Address  (utilizando el link completo en una celda)

    también he probado con 

    .Navigate "www.google.com/ & CStr(i)"   tratando de dejar www.google.com/ como texto fijo y utilizando el valor de las celdas a1 y a2, pero no logro resultados

     

        Dim IE As Object
        Set IE = CreateObject("InternetExplorer.Application")
    Dim rng As Range
        Set rng = Range("r1", Range("r200"))
        counter = rng.Count
    For i = 1 To counter
    
    With IE
            .Top = 0
            .Left = 0
            .height = 1000
            .Width = 1550
            .Visible = True
            .Navigate Range("a" & CStr(i)).Hyperlinks(1).Address
            Do While .Busy Or Not .ReadyState = 4: DoEvents: Loop
    
    
    End With
            End If
            Next i
            
          
            End Sub

    por favor agradecería mucho cualquier tipo de ayuda para aclarar la forma en la que debo escribir el código

     

    gracias

     

×
×
  • Create New...

Important Information

Privacy Policy