¿Cómo puedo solicitar con un VBA msgbox

¿Cómo puedo solicitar con un VBA msgbox

¿Cómo aviso con un cuadro de mensaje en VBA, cuando las filas de Excel cambian a letras diferentes?

Por ejemplo, si tengo AAB en la fila 1 y BBA en la fila 2, necesito un cuadro de aviso después de la fila 1.

Respuesta1

Pruebe esta pequeña macro, está configurada para la columnaC

Sub DataCheck()
    Dim MyCol As String, rCheck As Range, r As Range
    MyCol = "C"
    Set rCheck = Intersect(ActiveSheet.UsedRange, Range(MyCol & ":" & MyCol))

    For Each r In rCheck
    If r.Row = 1 Then
    Else
        If r.Text <> r.Offset(-1, 0).Text Then
            r.Select
            MsgBox "Data changed in row #" & r.Row
        End If
    End If
    Next r
End Sub

Por ejemplo:

ingrese la descripción de la imagen aquí

EDITAR #1:

Esta versión del código detectará cambios en la columnaCe inserte una fila "espaciadora" entre ellos:

Sub DataCheck2()
    Dim MyCol As String, rCheck As Range, r As Range
    Dim rInsert As Range
    MyCol = "C"
    Set rCheck = Intersect(ActiveSheet.UsedRange, Range(MyCol & ":" & MyCol))
    Set rInsert = Nothing

    For Each r In rCheck
        If r.Row = 1 Then
        Else
            If r.Text <> r.Offset(-1, 0).Text Then
                If rInsert Is Nothing Then
                    Set rInsert = r
                Else
                    Set rInsert = Union(rInsert, r)
                End If
            End If
        End If
    Next r

    If rInsert Is Nothing Then
    Else
        rInsert.EntireRow.Insert
    End If

End Sub

Antes:

ingrese la descripción de la imagen aquí

y después:

ingrese la descripción de la imagen aquí

información relacionada