मैं VBA में एक msgbox के साथ कैसे संकेत देता हूं, जब एक्सेल पंक्तियों को विभिन्न अक्षरों में बदल रहे हैं।
उदाहरण के लिए यदि मेरे पास पंक्ति 1 में एएबी और रो 2 में बीबीए है, तो मुझे पंक्ति 1 के बाद एक शीघ्र बॉक्स की आवश्यकता है।
मैं VBA में एक msgbox के साथ कैसे संकेत देता हूं, जब एक्सेल पंक्तियों को विभिन्न अक्षरों में बदल रहे हैं।
उदाहरण के लिए यदि मेरे पास पंक्ति 1 में एएबी और रो 2 में बीबीए है, तो मुझे पंक्ति 1 के बाद एक शीघ्र बॉक्स की आवश्यकता है।
जवाबों:
इस छोटे मैक्रो को आज़माएं, यह स्तंभ C के लिए सेट किया गया है
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:
कोड का यह संस्करण कॉलम C में परिवर्तन का पता लगाएगा और उनके बीच "स्पेसर" पंक्ति सम्मिलित करेगा:
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
इससे पहले:
और बाद में: