msgbox VBA로 메시지를 표시하는 방법

msgbox VBA로 메시지를 표시하는 방법

Excel 행이 다른 문자로 변경될 때 VBA에서 메시지 상자를 사용하여 어떻게 메시지를 표시합니까?

예를 들어 row1에 AAB가 있고 Row2에 BBA가 있는 경우 row1 뒤에 프롬프트 상자가 필요합니다.

답변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

전에:

여기에 이미지 설명을 입력하세요

그리고 그 이후:

여기에 이미지 설명을 입력하세요

관련 정보