- Katılım
- 14 Haziran 2006
- Mesajlar
- 575
- Altın Üyelik Bitiş Tarihi
- 10.04.2023
MsgBox bildirim dosyamın Veri sayfasının I sutununda olupta D sutununda olmayan veriyi MsgBox yardımı ile görmek istiyordum.Bir kod yardımı ile görebilirmiyim.
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub MsgBoxGöster()
Dim Bak As Range
Set Bak = Range("D3:D" & Range("D3").End(xlDown).Row)
Mesaj = "Aşağaıdakiler D sütununda Yok"
Son = Cells(3, 9).End(xlDown).Row
For i = 3 To 2384 'I sütunuda içi boş ya da okunamayan karakterleriniz var'
If WorksheetFunction.CountIf(Bak, Cells(i, 9)) = 0 Then
Mesaj = Mesaj & Chr(13) & Cells(i, 9)
Yok = True
End If
Next i
If Yok Then
MsgBox Mesaj
Else
MsgBox "D sütununun hepsi I sütununda var"
End If
End Sub
Option Explicit
Sub Farkli_Olanlari_Goster()
Dim Son_D As Long, Son_I As Long, Veri As Variant, X As Long
Dim Kriter As Variant, Key As Variant, Say As Long
Application.ScreenUpdating = False
On Error Resume Next
ActiveSheet.ShowAllData
On Error GoTo 0
Son_D = Range("D:D").Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row
Son_I = Range("I:I").Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row
Range("AA1") = 1
Range("AA1").Copy
Range("I3:I" & Son_I).PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply
Range("D3:D" & Son_D).PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply
Range("AA1").ClearContents
Range("I2").Select
Veri = Range("I3:I" & Son_I).Value
With CreateObject("Scripting.Dictionary")
For X = LBound(Veri) To UBound(Veri)
If Not .Exists(Veri(X, 1)) Then
.Add Veri(X, 1), Nothing
End If
Next
Veri = Range("D3:D" & Son_D).Value
For X = LBound(Veri) To UBound(Veri)
If .Exists(Veri(X, 1)) Then
.Remove Veri(X, 1)
End If
Next
ReDim Kriter(1 To 1)
For Each Key In .Keys
Say = Say + 1
ReDim Preserve Kriter(1 To Say)
Kriter(Say) = CStr(Key)
Next
If ActiveSheet.AutoFilterMode = True Then ActiveSheet.AutoFilterMode = False
ActiveSheet.Range("I2:I" & Rows.Count).AutoFilter Field:=1, Criteria1:=Kriter, Operator:=xlFilterValues
Application.ScreenUpdating = True
MsgBox "I sütununda olup D sütununda olmayan değerler ;" & Chr(10) & Chr(10) & Join(.Keys, Chr(10))
End With
End Sub
Option Explicit
Sub Farkli_Olanlari_Goster_I_Sutunu()
Dim Son_D As Long, Son_I As Long, Veri As Variant, X As Long
Dim Kriter As Variant, Key As Variant, Say As Long
Dim S1 As Worksheet, S2 As Worksheet, Dizi As Object
Application.ScreenUpdating = False
Set S1 = Sheets("Veri")
Set S2 = Sheets("Sayfa1")
Set Dizi = CreateObject("Scripting.Dictionary")
With S1
On Error Resume Next
.ShowAllData
On Error GoTo 0
Son_D = .Range("D:D").Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Son_I = .Range("I:I").Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
.Range("AA1") = 1
.Range("AA1").Copy
.Range("I3:I" & Son_I).PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply
.Range("D3:D" & Son_D).PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply
.Range("AA1").ClearContents
.Range("I2").Select
Veri = .Range("I3:I" & Son_I).Value
For X = LBound(Veri) To UBound(Veri)
If Not Dizi.Exists(Veri(X, 1)) Then
Dizi.Add Veri(X, 1), Nothing
End If
Next
Veri = .Range("D3:D" & Son_D).Value
For X = LBound(Veri) To UBound(Veri)
If Dizi.Exists(Veri(X, 1)) Then
Dizi.Remove Veri(X, 1)
End If
Next
ReDim Kriter(1 To Dizi.Count, 1 To 1)
For Each Key In Dizi.Keys
Say = Say + 1
Kriter(Say, 1) = CStr(Key)
Next
If .AutoFilterMode = True Then .AutoFilterMode = False
.Range("I2:I" & .Rows.Count).AutoFilter Field:=1, Criteria1:=Application.Transpose(Kriter), Operator:=xlFilterValues
With S2.Cells(S2.Rows.Count, 5).End(3)(2, 1)
.Resize(UBound(Kriter), 1) = Kriter
.Offset(, 3).Resize(UBound(Kriter), 1) = "İlave"
End With
Application.ScreenUpdating = True
MsgBox "I sütununda olup D sütununda olmayan değerler ;" & Chr(10) & Chr(10) & Join(Dizi.Keys, Chr(10))
End With
Set S1 = Nothing
Set S2 = Nothing
Set Dizi = Nothing
End Sub
Sub Farkli_Olanlari_Goster_D_Sutunu()
Dim Son_D As Long, Son_I As Long, Veri As Variant, X As Long
Dim Kriter As Variant, Key As Variant, Say As Long
Dim S1 As Worksheet, S2 As Worksheet, Dizi As Object
Application.ScreenUpdating = False
Set S1 = Sheets("Veri")
Set S2 = Sheets("Sayfa1")
Set Dizi = CreateObject("Scripting.Dictionary")
With S1
On Error Resume Next
.ShowAllData
On Error GoTo 0
Son_D = .Range("D:D").Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Son_I = .Range("I:I").Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
.Range("AA1") = 1
.Range("AA1").Copy
.Range("I3:I" & Son_I).PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply
.Range("D3:D" & Son_D).PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply
.Range("AA1").ClearContents
.Range("I2").Select
Veri = .Range("D3:D" & Son_D).Value
For X = LBound(Veri) To UBound(Veri)
If Not Dizi.Exists(Veri(X, 1)) Then
Dizi.Add Veri(X, 1), Nothing
End If
Next
Veri = .Range("I3:I" & Son_I).Value
For X = LBound(Veri) To UBound(Veri)
If Dizi.Exists(Veri(X, 1)) Then
Dizi.Remove Veri(X, 1)
End If
Next
ReDim Kriter(1 To Dizi.Count, 1 To 1)
For Each Key In Dizi.Keys
Say = Say + 1
Kriter(Say, 1) = CStr(Key)
Next
If .AutoFilterMode = True Then .AutoFilterMode = False
.Range("D2:D" & .Rows.Count).AutoFilter Field:=1, Criteria1:=Application.Transpose(Kriter), Operator:=xlFilterValues
With S2.Cells(S2.Rows.Count, 5).End(3)(2, 1)
.Resize(UBound(Kriter), 1) = Kriter
.Offset(, 3).Resize(UBound(Kriter), 1) = "Çıkan"
End With
Application.ScreenUpdating = True
MsgBox "D sütununda olup I sütununda olmayan değerler ;" & Chr(10) & Chr(10) & Join(Dizi.Keys, Chr(10))
End With
Set S1 = Nothing
Set S2 = Nothing
Set Dizi = Nothing
End Sub
Option Explicit
Sub Farkli_Olanlari_Goster_I_Sutunu()
Dim Son_D As Long, Son_I As Long, Veri As Variant, X As Long
Dim Kriter As Variant, Key As Variant, Say As Long
Dim S1 As Worksheet, S2 As Worksheet, Dizi As Object
Application.ScreenUpdating = False
Set S1 = Sheets("Veri")
Set S2 = Sheets("Sayfa1")
Set Dizi = CreateObject("Scripting.Dictionary")
With S1
On Error Resume Next
.ShowAllData
On Error GoTo 0
Son_D = .Range("D:D").Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Son_I = .Range("I:I").Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Veri = .Range("I3:I" & Son_I).Value
For X = LBound(Veri) To UBound(Veri)
If Not Dizi.Exists(Veri(X, 1)) Then
Dizi.Add Veri(X, 1), Nothing
End If
Next
Veri = .Range("D3:D" & Son_D).Value
For X = LBound(Veri) To UBound(Veri)
If Dizi.Exists(Veri(X, 1)) Then
Dizi.Remove Veri(X, 1)
End If
Next
ReDim Kriter(1 To Dizi.Count, 1 To 1)
For Each Key In Dizi.Keys
Say = Say + 1
Kriter(Say, 1) = CStr(Key)
Next
If .AutoFilterMode = True Then .AutoFilterMode = False
.Range("I2:I" & .Rows.Count).AutoFilter Field:=1, Criteria1:=Application.Transpose(Kriter), Operator:=xlFilterValues
With S2.Cells(S2.Rows.Count, 5).End(3)(2, 1)
.Resize(UBound(Kriter), 1) = Kriter
.Offset(, 3).Resize(UBound(Kriter), 1) = "İlave"
End With
Application.ScreenUpdating = True
MsgBox "I sütununda olup D sütununda olmayan değerler ;" & Chr(10) & Chr(10) & Join(Dizi.Keys, Chr(10))
End With
Set S1 = Nothing
Set S2 = Nothing
Set Dizi = Nothing
End Sub
Sub Farkli_Olanlari_Goster_D_Sutunu()
Dim Son_D As Long, Son_I As Long, Veri As Variant, X As Long
Dim Kriter As Variant, Key As Variant, Say As Long
Dim S1 As Worksheet, S2 As Worksheet, Dizi As Object
Application.ScreenUpdating = False
Set S1 = Sheets("Veri")
Set S2 = Sheets("Sayfa1")
Set Dizi = CreateObject("Scripting.Dictionary")
With S1
On Error Resume Next
.ShowAllData
On Error GoTo 0
Son_D = .Range("D:D").Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Son_I = .Range("I:I").Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Veri = .Range("D3:D" & Son_D).Value
For X = LBound(Veri) To UBound(Veri)
If Not Dizi.Exists(Veri(X, 1)) Then
Dizi.Add Veri(X, 1), Nothing
End If
Next
Veri = .Range("I3:I" & Son_I).Value
For X = LBound(Veri) To UBound(Veri)
If Dizi.Exists(Veri(X, 1)) Then
Dizi.Remove Veri(X, 1)
End If
Next
ReDim Kriter(1 To Dizi.Count, 1 To 1)
For Each Key In Dizi.Keys
Say = Say + 1
Kriter(Say, 1) = CStr(Key)
Next
If .AutoFilterMode = True Then .AutoFilterMode = False
.Range("D2:D" & .Rows.Count).AutoFilter Field:=1, Criteria1:=Application.Transpose(Kriter), Operator:=xlFilterValues
With S2.Cells(S2.Rows.Count, 5).End(3)(2, 1)
.Resize(UBound(Kriter), 1) = Kriter
.Offset(, 3).Resize(UBound(Kriter), 1) = "Çıkan"
End With
Application.ScreenUpdating = True
MsgBox "D sütununda olup I sütununda olmayan değerler ;" & Chr(10) & Chr(10) & Join(Dizi.Keys, Chr(10))
End With
Set S1 = Nothing
Set S2 = Nothing
Set Dizi = Nothing
End Sub