• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Veri doğrulama seçimlerini sıfırlama

ömer bey çok çok teşekürler denedim kendime uyarladım çok güzel oldu elinize emeyinize sağlık
 
ömer bey merhaba
sistem dediğim gibi güzel çalışıyor fakat ben kayıt sayfasında filitre uyguladım buradan firmaları süzüp siparişleri kontrol ediyorum .bu sayfayı filtreleme yapıp yanlışlıkla öyle bırakırsam süzmede görünmeyen kayıtlarımın üzerine kayıt işlemi devam ediyor yani en altdaki satırım 10 olsun yeni kayıt 11 e yapıyor ben normalde 45 . Satıra geldim 11 de de başka kayıt var ama süzme işleminde en son hangi satır çıkar ise ondan sonrakine kayıt yaptığı için 11 deki kaydım ın üzerine kaydediyor bunun için bir çözüm varmıdır acaba
 
Kodlardaki;

son = Sk.Cells(Rows.Count, "A").End(xlUp).Row + 1

yukarıdaki satırın yerine aşağıdaki satırı yazın.

son = Sk.UsedRange.Rows.Count + 1

.
 
yazdım ömer bey ama kayıt yapmıyor (filtrelemeyi denemedim bile çünkü hiç kayıt yapmıyor)
 
Denedim sorun yok.

Kod:
Sub Düğme10_Tıklat()
    
    Dim Sk As Worksheet, son As Long
    
    Set Sk = Sheets("KAYIT")
    
    Application.ScreenUpdating = False
    Sheets("SEÇİM").Select
    
    son = Sk.UsedRange.Rows.Count + 1    
    
    Sk.Cells(son, "A") = Range("L3")
    Sk.Cells(son, "C") = Range("B2")
    Sk.Cells(son, "D") = Range("B3")
    Sk.Cells(son, "E") = Range("B4")
    Sk.Cells(son, "F") = Range("B7")
    Sk.Cells(son, "G") = Range("B9")
    Sk.Cells(son, "K") = Range("D7")
    Sk.Cells(son, "L") = Range("D9")
    Sk.Cells(son, "O") = Range("D14")
    Sk.Cells(son, "P") = Sk.Cells(son, "O") * 0.18
    Sk.Cells(son, "Q") = Sk.Cells(son, "O") + Sk.Cells(son, "P")
    
    Range("L3") = Range("L3") + 1
    
End Sub

.
 
Aslında kayıt yapıyor, fakat 5338 satırdan sonra yapıyor. Kontrol edip son kayıtları silin.

Sayfa daha önce kullanıldığı için olabilir.

son = Sk.UsedRange.Rows.Count + 1

Yerine, daha garanti olan aşağıdaki komutu deneyin.

Kod:
son = Evaluate("=LOOKUP(2,1/(KAYIT!A4:A65536<>""""),ROW(KAYIT!A4:A65536))") + 1

Kayıtın daha hızlı olması için 2 satır daha ekledim. Kırmızı renkli. Bu şekilde kayıttan önce formül hesaplamaları pasif olduğundan kayıt daha hızlı olacaktır.

Kod:
Sub SEÇİMSAYFASI_Düğme4_Tıklat()

    
    Dim Sk As Worksheet, son As Long
    
    Set Sk = Sheets("KAYIT")
    
    Application.ScreenUpdating = False
   [COLOR="Red"] Application.Calculation = xlManual[/COLOR]
    Sheets("SEÇİM SAYFASI").Select
    
    son = Evaluate("=LOOKUP(2,1/(KAYIT!A4:A65536<>""""),ROW(KAYIT!A4:A65536))") + 1

    Sk.Cells(son, "CB") = Range("Q62")
    Sk.Cells(son, "CE") = Range("B44")
    Sk.Cells(son, "BI") = Range("Q9")
    Sk.Cells(son, "CC") = Range("S62")
    Sk.Cells(son, "A") = Range("S1")
    Sk.Cells(son, "AW") = Range("B25")
    Sk.Cells(son, "BT") = Range("L34")
    Sk.Cells(son, "CL") = Range("B49")
    Sk.Cells(son, "CM") = Range("B58")
    Sk.Cells(son, "AU") = Range("D29")
    Sk.Cells(son, "BB") = Range("B24")
    Sk.Cells(son, "BP") = Range("L19")
    Sk.Cells(son, "BQ") = Range("L18")
    Sk.Cells(son, "BR") = Range("L7")
    Sk.Cells(son, "CI") = Range("B41")
    Sk.Cells(son, "F") = Range("B52")
    Sk.Cells(son, "BS") = Range("L54")
    Sk.Cells(son, "BV") = Range("Q21")
    Sk.Cells(son, "CK") = Range("B2")
    Sk.Cells(son, "BW") = Range("L24")
    Sk.Cells(son, "BX") = Range("Q25")
    Sk.Cells(son, "BY") = Range("L28")
    Sk.Cells(son, "BZ") = Range("L55")
    Sk.Cells(son, "CA") = Range("L56")
    Sk.Cells(son, "CB") = Range("L57")
    Sk.Cells(son, "CC") = Range("Q30")
    Sk.Cells(son, "CD") = Range("N2")
    Sk.Cells(son, "CE") = Range("O62")
    Sk.Cells(son, "CF") = Range("Q62")
    Sk.Cells(son, "CG") = Range("S62")
    Sk.Cells(son, "BI") = Range("B29")
    Sk.Cells(son, "BJ") = Range("B30")
    Sk.Cells(son, "BK") = Range("B31")
    Sk.Cells(son, "Bc") = Range("B6")
    Sk.Cells(son, "Bd") = Range("c6")
    Sk.Cells(son, "Be") = Range("b28")
    Sk.Cells(son, "BG") = Range("B56")
    Sk.Cells(son, "BH") = Range("B57")
    Sk.Cells(son, "BF") = Range("B55")
    Sk.Cells(son, "BL") = Range("Q9")
    Sk.Cells(son, "BN") = Range("Q14")
    Sk.Cells(son, "BO") = Range("L20")
    Sk.Cells(son, "BM") = Range("Q16")
    Sk.Cells(son, "AE") = Range("B20")
    Sk.Cells(son, "AJ") = Range("I4")
    Sk.Cells(son, "AF") = Range("B5")
    Sk.Cells(son, "AG") = Range("C5")
    Sk.Cells(son, "AH") = Range("B19")
    Sk.Cells(son, "AK") = Range("B18")
    Sk.Cells(son, "AL") = Range("B7")
    Sk.Cells(son, "AM") = Range("B34")
    Sk.Cells(son, "AN") = Range("B54")
    Sk.Cells(son, "AX") = Range("B26")
    Sk.Cells(son, "AY") = Range("B27")
    Sk.Cells(son, "AI") = Range("H4")
    Sk.Cells(son, "AZ") = Range("B35")
    Sk.Cells(son, "BA") = Range("B36")
    Sk.Cells(son, "O") = Range("B46")
    Sk.Cells(son, "C") = Range("B38")
    Sk.Cells(son, "AD") = Range("I3")
    Sk.Cells(son, "D") = Range("B39")
    Sk.Cells(son, "G") = Range("B8")
    Sk.Cells(son, "K") = Range("B43")
    Sk.Cells(son, "B") = Range("B37")
    Sk.Cells(son, "E") = Range("B40")
    Sk.Cells(son, "I") = Range("B9")
    Sk.Cells(son, "H") = Range("B11")
    Sk.Cells(son, "Z") = Range("B4")
    Sk.Cells(son, "P") = Range("B47")
    Sk.Cells(son, "M") = Range("B45")
    Sk.Cells(son, "N") = Range("B14")
    Sk.Cells(son, "R") = Range("B48")
    Sk.Cells(son, "S") = Range("B1")
    Sk.Cells(son, "T") = Range("B42")
    Sk.Cells(son, "V") = Range("B3")
    Sk.Cells(son, "U") = Range("B44")
    Sk.Cells(son, "Y") = Range("B16")
    Sk.Cells(son, "X") = Range("B17")
    Sk.Cells(son, "W") = Range("C3")
    Sk.Cells(son, "L") = Range("B12")
    Sk.Cells(son, "Q") = Range("B13")
    Sk.Cells(son, "J") = Range("B10")
    Sk.Cells(son, "AA") = Range("C4")
    Sk.Cells(son, "AB") = Range("B15")
    Sk.Cells(son, "AC") = Range("H3")
    Sk.Cells(son, "AP") = Range("B22")
    Sk.Cells(son, "AQ") = Range("B23")
    Sk.Cells(son, "AR") = Range("B21")
    Sk.Cells(son, "AS") = Range("B32")
    Sk.Cells(son, "AT") = Range("B33")
    Range("S1") = Range("S1") + 1
    
    [COLOR="red"]Application.Calculation = xlAutomatic[/COLOR]
    Application.ScreenUpdating = True
    
End Sub

.
 
ömer bey affınıza sığınarak bir sorum daha olacak veri doğrulama da açılan pencerem çok uzun olduğunda aradığım kelimenin ilk harfi veya ilk iki harfi ,üç harfi gibi yazarak sıralamadaki seçim sayısını düşürme şansım varmı böyle birşeyi veri doğrulamaya uygulayabilirmiyim kolay gelsin
 
Geri
Üst