msgbox VBA でプロンプトを出すにはどうすればいいですか

msgbox VBA でプロンプトを出すにはどうすればいいですか

Excel の行が異なる文字に変更されるときに、VBA で msgbox を使用してプロンプトを表示するにはどうすればよいですか。

たとえば、行 1 に AAB があり、行 2 に BBA がある場合、行 1 の後にプロンプ​​ト ボックスが必要です。

答え1

この小さなマクロを試してください。列に設定されています

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

例えば:

ここに画像の説明を入力してください

編集#1:

このバージョンのコードは列の変更を検出しますそして、それらの間に「スペーサー」行を挿入します。

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

前に:

ここに画像の説明を入力してください

以降:

ここに画像の説明を入力してください

関連情報