Macro para que una celda tome el valor de la celda activa de un determinado rango

Código:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim RNG As Range
  
Set RNG = Range("C4:C10")
If Not Intersect(Target, RNG) Is Nothing Then

Range("F3").Value = Target.Value
End If
End Sub

Comentarios

  1. muchas gracias por el codigo... me sirvio muchisimo

    ResponderEliminar
  2. me funciono muy bien, pero solo se ejecuta cuando hago click sobre la celda que tiene los datos originales, aclaro que en esas celdas aparece el resultado de una formula, no se ingresa directamente, se podra solucionar?

    ResponderEliminar
    Respuestas
    1. Saludos, las disculpas por responder a la fecha. Para agregar mas rangos puedes usar esto Set RNG = Union(Range("C4:C10"), Range("E4:E10"), Range("G4:G10")) así puedes añadir los rangos que desees. Si requieres que sea libre Range("F3").Value = Target.Value

      Eliminar
    2. Respecto a la formula puedes tomar el valor de la celda donde se muestra el valor seleccionado, o si sabes de VBA hacer la formulación directamente en VBA, ejemplo : Sumar 10 al valor seleccionado y muestra el resultado en F3, apóyate de una IA como GPT o Copilot para que te ayude a plasmar tu formulación en este ejemplo

      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If IsNumeric(Target.Value) Then
      Range("F3").Value = Target.Value + 10
      Else
      Range("F3").Value = "No es un número"
      End If
      End Sub

      Eliminar
  3. Excelente. Adecué los rangos de ms datos originales y mi celda de destino. Funcionó sin problemas. Gracias.

    ResponderEliminar

Publicar un comentario