- Katılım
- 17 Nisan 2013
- Mesajlar
- 101
- Excel Vers. ve Dili
- 2007 Microsoft Office Türkçe
Aşağıdaki kodlar ile URUNDATA sayfasından AKTIF veya PASIF olarak belırledığım Urunlerı AKTIVITEFORM sayfasına aktarma yapıyorum.. fakat AKTIVITEFORM sayfasında aynı zamanda A sutununa ürünlere otomatık sıra no veren kod da var. sanırım bu yuzden AKTARMA işleminde çok ağır HATTA excel kilitleniyor ... Eğer aldığım veri sayısı az ise ağırlaşıyor. fazla ise (100 satır) excel tamamen kilitleniyor.
yardımcı olursanız çok sevinirim
Sub AKTIVITEFORM_aktif_al()
Call aktif_pasif_al_59("AKTİF")
End Sub
Sub AKTIVITEFORM_pasifal()
Call aktif_pasif_al_59("PASİF")
End Sub
Sub aktif_pasif_al_59(ByVal kriter As String)
Dim sh As Worksheet, sat1 As Long, sat2 As Long
Set sh = Sheets("URUNDATA")
Sheets("AKTIVITEFORM").Select
sat1 = sh.Cells(Rows.Count, "P").End(xlUp).Row
sat2 = 5
If sat2 >= 5 Then Range("B5:B155").ClearContents
For i = 8 To sat1
If UCase(Replace(Replace(sh.Cells(i, "P").Value, "i", "İ"), "ı", "I")) = kriter Then
Cells(sat2, "B").Value = sh.Cells(i, "B").Value
sat2 = sat2 + 1
End If
Next i
MsgBox "İşlem Tamamlandı." & vbLf & _
"İyi Çalışmalar", vbOKOnly + vbInformation, Application.UserName
End Sub
yardımcı olursanız çok sevinirim
Sub AKTIVITEFORM_aktif_al()
Call aktif_pasif_al_59("AKTİF")
End Sub
Sub AKTIVITEFORM_pasifal()
Call aktif_pasif_al_59("PASİF")
End Sub
Sub aktif_pasif_al_59(ByVal kriter As String)
Dim sh As Worksheet, sat1 As Long, sat2 As Long
Set sh = Sheets("URUNDATA")
Sheets("AKTIVITEFORM").Select
sat1 = sh.Cells(Rows.Count, "P").End(xlUp).Row
sat2 = 5
If sat2 >= 5 Then Range("B5:B155").ClearContents
For i = 8 To sat1
If UCase(Replace(Replace(sh.Cells(i, "P").Value, "i", "İ"), "ı", "I")) = kriter Then
Cells(sat2, "B").Value = sh.Cells(i, "B").Value
sat2 = sat2 + 1
End If
Next i
MsgBox "İşlem Tamamlandı." & vbLf & _
"İyi Çalışmalar", vbOKOnly + vbInformation, Application.UserName
End Sub
