Wie führe ich eine Eingabeaufforderung mit einer Msgbox-VBA aus

Wie führe ich eine Eingabeaufforderung mit einer Msgbox-VBA aus

Wie verwende ich eine Nachrichtenbox in VBA, wenn sich Excel-Zeilen in andere Buchstaben ändern?

Wenn ich beispielsweise AAB in Zeile 1 und BBA in Zeile 2 habe, brauche ich ein Eingabeaufforderungsfeld nach Zeile 1.

Antwort1

Probieren Sie dieses kleine Makro aus, es ist für die SpalteC

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

Zum Beispiel:

Bildbeschreibung hier eingeben

BEARBEITEN #1:

Diese Version des Codes erkennt Änderungen in der SpalteCund fügen Sie dazwischen eine „Abstandszeile“ ein:

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

Vor:

Bildbeschreibung hier eingeben

und danach:

Bildbeschreibung hier eingeben

verwandte Informationen