Encontrar valor de una fila VBA y escribir abajo

Estoy haciendo un codigo en VBA y necesito encontrar un valor exacto en un rango de la fila F1:BF53. Una vez encontrado el numero exacto, necesito que me diga donde lo encontró para luego escribir en una posición que yo quiera algún dato.

2 Respuestas

Respuesta
1

Te anexo el código para buscar un valor en el rango que pusiste.

Cambia 123 por el valor que vas a buscar

En la macro te puse un ejemplo para escribir en la fila encontrada, columna G "algún dato":

Sub BuscarFila()
'Por.Dante Amor
    num = 123
    Set r = Range("F1:BF53")
    Set b = r.Find(num, lookat:=xlWhole)
    If Not b Is Nothing Then
        fila = b.Row
        'ejemplo para escribir un dato en la fila encontrada, columna G
        Cells(fila, "G") = "algún dato"
    Else
        MsgBox "No se encontró el número", vbExclamation
    End If
End Sub

':)
':)

Muchas gracias por tu respuesta! me fue útil. Es posible saber en que posición especifica encontró el valor? Ejemplo, si el numero X lo encontró en la posición D4, decir que estaba ahí para luego usar esa información?

Estoy haciendo un programa de planificación y yo le tengo que colocar la semana inicial de trabajo y después la frecuencia que se repite la actividad, por eso necesito saber en que columna encontró el valor para escribir en una celda más abajo una "x" para que me diga que esa es la semana correspondida.

Específicamente https://www.youtube.com/watch?v=sUpQ42aM4TA 

Gracias y disculpa las molestias.

H o l a:

Disculpa, pero no entiendo la relación que hay en el vídeo con lo que estás preguntando.

Si quieres saber la columna, en el objeto b tienes la información, por ejemplo, yo puse esta instrucción:

Set b = r.Find(num, lookat:=xlWhole)

Si encuentra el número, entonces

fila = b.row

columna = b.column

celda = b.address

wcolor = b.interior.colorindex

Etc, etc

En el objeto b tienes toda la información de la celda: la fila, la columna, la dirección, el color de la celda, el tipo de letra, el tamaño de la celda, etc.

Si necesitas adecuar la macro para esto:

"colocar la semana inicial de trabajo y después la frecuencia que se repite la actividad"

Entonces crea una nueva pregunta y me explicas con ejemplos lo que tienes y lo que esperas de resultado. Tal vez será necesario que me envíes el archivo para revisar la información, pero primero crea la pregunta.

sal u dos

Respuesta
1

Puedes Usar este código:

 Sub BuscarDato()
      Dim x As String
      Dim Found As Boolean
      ' Establecer un valor de búsqueda variable.
      x = "test"
      ' Establecer la variable booleana "found" en False.
      Found = False
      For Filas = 1 To 53 '
        For Columnas = 6 To 58
         If Cells(Filas, Columnas).Value = x Then
            Cells(Filas, Columnas).Select
            Found = True
            Exit For
         End If
            If Found = True Then Exit For
        Next
      Next
   ' Buscar el valor found.
      If Found = True Then
         MsgBox "Valor encontrado en la celda: " & Cells(Filas, Columnas).Address
      Else
         MsgBox "Valor no encontrado"
      End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas