Ventana Emergente resultado primera celda fila activa

Tal como detallo en la pregunta necesito que cuando me desplazo por una hoja de calculo, me salte una ventana emergente con el dato existente en la columna A, pero de la fila de la celda activa.

Si estoy en la celda F12, necesitaría que la ventana emergente me diera como resultado el contenido de la celda A12. En caso de estar en la G23, que la ventana tuviera el resultado de la celda A23, y así siempre que me desplace por la hoja.

2 respuestas

Respuesta
1

Esta macro muestra el valor de la columna B siempre y cuando tenga dato, cuando la celda activa esta posicionada en cualquier columna diferente a la columna B, espero le sirva y lo adapte a su archivo cualquier cosa comenta.

Da clic derecho en la hoja y clic en Ver código y pega ahí la macro

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If activecel <> Cells(1, 1) Then
    Else
        valor = Cells((ActiveCell.Row), 2).Value
        If valor = "" Then
        Else
            MsgBox valor
        End If
    End If
End Sub

Esta macro funciona siempre que las celdas siguientes no tengan dato como se muestra en su imagen. Va de nuevo la macro, tiene un error.

Veré la forma de que funcione aun teniendo datos en las celdas siguientes, que es lo que supongo que en determinado momento sucederá.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If ActiveCell <> Cells(1, 1) Then
    Else
        Valor = Cells((ActiveCell.Row), 2).Value
        If Valor = "" Then
        Else
            MsgBox Valor
        End If
    End If
End Sub

Va de nuevo la macro corregida ya se muestra el mensaje aun teniendo dato en las celdas siguientes a la columna B

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
P1 = ActiveCell.Address
P2 = Cells((ActiveCell.Row), 2).Address
    If P1 <> P2 Then
        Valor = Cells((ActiveCell.Row), 2).Value
        If Valor = "" Then
        Else
            MsgBox Valor
        End If
    Else
    End If
End Sub

Buenas tardes,

Eres muy grande. Gran resultado. Y tremendamente rápido.

¿Solo una cosa más siempre le tengo que dar a "aceptar" para poder desplazarme a otra celda?

Gracias anticipadas.

Con esta macro el mensaje se cierra después de 2 segundos

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim AckTime As Integer, InfoBox As Object
P1 = ActiveCell.Address
P2 = Cells((ActiveCell.Row), 1).Address
    If P1 <> P2 Then
        Valor = Cells((ActiveCell.Row), 1).Value
        If Valor = "" Then
        Else
            Set InfoBox = CreateObject("WScript.Shell")
            AckTime = 2
            Select Case InfoBox.Popup("Dato: " & Valor, AckTime, "Menssje", 0)
                Case 1, -1
                    Exit Sub
            End Select
        End If
    End If
End Sub
Respuesta
1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas