Como faço para solicitar um msgbox VBA

Como faço para solicitar um msgbox VBA

Como faço para avisar com uma msgbox no VBA, quando as linhas do Excel estão mudando para letras diferentes.

Por exemplo, se eu tiver AAB na linha1 e BBA na linha2, preciso de uma caixa de prompt após a linha1.

Responder1

Experimente esta pequena macro, ela está definida para colunaC

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 exemplo:

insira a descrição da imagem aqui

EDITAR#1:

Esta versão do código detectará alterações na colunaCe insira uma linha "espaçadora" entre eles:

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:

insira a descrição da imagem aqui

e depois:

insira a descrição da imagem aqui

informação relacionada