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
전에:
그리고 그 이후: