bulentkars
Altın Üye
- Katılım
- 5 Ağustos 2005
- Mesajlar
- 674
- Excel Vers. ve Dili
- 2003 TR
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub mukerrerler()
Set s1 = Sheets("ÇEKSENET")
Set s2 = Sheets("Kontrol")
son = WorksheetFunction.Max(2, s1.Cells(Rows.Count, "A").End(3).Row)
eski = WorksheetFunction.Max(2, s1.Cells(Rows.Count, "A").End(3).Row)
s2.Range("A2:B" & eski).ClearContents
Application.ScreenUpdating = False
Set con = VBA.CreateObject("adodb.Connection")
con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=yes"""
sorgu = "select Kodu, count(Türü) as Tur from [ÇEKSENET$] where Türü='KISMI' group by Kodu" ' where Türü is not null"
Set rs = con.Execute(sorgu)
s2.[A2].CopyFromRecordset rs
enson = WorksheetFunction.Max(2, s1.Cells(Rows.Count, "A").End(3).Row)
For i = enson To 2 Step -1
If s2.Cells(i, "B") < 2 Then s2.Rows(i).Delete
Next
Application.ScreenUpdating = True
s2.Activate
MsgBox "İşlem Tamamlandı", vbInformation
End Sub
s2.Activate
MsgBox "İşlem Tamamlandı", vbInformation
If s2.[B2] = "" Then
MsgBox "Hiç mükerrer veri yoktur", vbInformation
Else
s2.Activate
MsgBox "İşlem Tamamlandı", vbInformation
End If
Sub mukerrerler()
Set s1 = Sheets("ÇEKSENET")
Set s2 = Sheets("Kontrol")
son = WorksheetFunction.Max(2, s1.Cells(Rows.Count, "A").End(3).Row)
eski = WorksheetFunction.Max(2, s2.Cells(Rows.Count, "A").End(3).Row)
s2.Range("A2:B" & eski).ClearContents
Set con = VBA.CreateObject("adodb.Connection")
con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=yes"""
sorgu = "select Kodu, count(Türü) as Tur from [ÇEKSENET$] where Türü='KISMI' group by Kodu" ' where Türü is not null"
Set rs = con.Execute(sorgu)
s2.[A2].CopyFromRecordset rs
sorgu = "select Kodu, Adet from [Kontrol$] where Adet>=2"
Set rs = con.Execute(sorgu)
enson = WorksheetFunction.Max(2, s2.Cells(Rows.Count, "A").End(3).Row)
s2.Cells(enson + 1, "A").CopyFromRecordset rs
s2.Range("A2:B" & enson).ClearContents
s2.Rows("2:" & enson).Delete
If s2.[B2] = "" Then
MsgBox "Hiç mükerrer veri yoktur", vbInformation
Else
s2.Activate
MsgBox "İşlem Tamamlandı", vbInformation
End If
End Sub
sorgu = "select Kodu, count(Türü) as Tur from [ÇEKSENET$] where Türü='KISMI' group by Kodu HAVING COUNT(*) > 1"
Ömer üstadım teşekkürler, dün hem Türkçe hem de İngilizce olarak araştırmış ama bunu nasıl yapacağımı bulamamıştım.Merhaba,
#2 mesajdaki sorguyu aşağıdaki gibi değiştirip satır silme kodlarını kaldırarak kodu hızlandırabilirsiniz.
Kod:sorgu = "select Kodu, count(Türü) as Tur from [ÇEKSENET$] where Türü='KISMI' group by Kodu HAVING COUNT(*) > 1"