• DİKKAT

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

Seçenekleriyle belirlenmiş tutarların ayrı sayfalarda gösterilmesi

1903emre34@gmail.com

Altın Üye
Katılım
29 Mayıs 2016
Mesajlar
946
Excel Vers. ve Dili
Microsoft Excel 2013 Türkçe
Merhaba,


İki satır aralıklarla yevmiye kayıt bulunmaktadır, "C" sütundaki hesap kodlarında karşısındaki "H" veya "I" sütünlarda tutarlar bulunmaktadır.

"Command Button1" bastığımız zaman, 600, 710,720,730 vs. herhangi birisini seçtiğimiz zaman, yandaki belirtilen tutarları birden fazla seçip "Kontrol et" seçenek bastığımız takdirde , yevmiye kayıt numarası (aynen sayfa1'deki gibi) Sayfa2 aktarılması için nasıl kod oluşuturabiliriz. (Manuel olarak 770, ve 10.000-15.000 seçildi ve sayfa2'e aktarıldı)

http://s8.dosya.tc/server4/ymyrmt/kayitlari_bulma_.zip.html
 

Ekli dosyalar

Arama kutusuna 770 yazın. 770 i içeren satırlar gelecektir.
Her bir satırdan bir hücre seçmek kaydı ile aktarılmasını istediğiniz satırları CTRL yi basılı tutarak seçin.

AKTAR butonuna bastığınızda YEVMİYE AKTARILANLAR sayfasının sonuna eklenecektir.
ARAMA sayfasındaki listeden silinecektir. Asıl listeden silinmez.

Kontro ediniz.


http://dosya.co/zk8aiszuqvrd/Yevmiye_Kontrol_Programi.xlsm.html

Modul 1

Kod:
Sub secileni_tasi()
    Dim cel As Range
    Dim selectedRange As Range
    Set shaktar = Sheets("Atarılan Yevmiye")
    Set sharama = Sheets("Arama")
    
    shaktarson = shaktar.Cells(Rows.Count, "A").End(3).Row + 1
    
    'Rows("1:1").Clear
    If Selection.Count = 1 Then Exit Sub
    sonsatir = sharama.Cells(Rows.Count, "A").End(3).Row
    Set selectedRange = Application.Selection
    
    For Each cel In selectedRange.Cells
      shaktarson = shaktar.Cells(Rows.Count, "A").End(3).Row + 1
      satir = cel.Row
      sharama.Range("A" & satir & ":M" & satir).SpecialCells(xlCellTypeVisible).Copy shaktar.Range("A" & shaktarson)
      sharama.Rows(satir).Clear
    Next cel
    
    'Başlık kopyala
    sharama.Range("A2:M2").SpecialCells(xlCellTypeVisible).Copy shaktar.Range("A1")
    shaktar.Cells.EntireColumn.AutoFit
    
End Sub
Arama Sayfası Kod bölümü

Kod:
'Option Explicit

Private Sub TextBox1_Change()
    Dim sonsat As Long, Deg As String, hcr As Range, Aln As Range, Code As Boolean
    Dim vsyf As Worksheet, renk
        Range("A2").Select
        TextBox1.Activate
       
        If Range("A1") <> "" Then
            Deg = UCase(Range("A1").Value)
        Else
            Exit Sub
        End If
        
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    
    Set vsyf = Sheets("YevmiyeListe")
    Range("A2:M10000").Clear
    
    sonsat = vsyf.Range("A" & Rows.Count).End(xlUp).Row

    vsyf.Cells.AutoFilter
    vsyf.Range("$A$1:$M$" & sonsat).AutoFilter Field:=3, Criteria1:="=" & Deg
    vsyf.Range("A1:M" & sonsat).SpecialCells(xlCellTypeVisible).Copy Range("A2")
    vsyf.Range("C2").AutoFilter

  
    Application.ScreenUpdating = True
    Application.EnableEvents = True

End Sub
 
Son düzenleme:
Sn. asri Bey, c sütununda sadece numerik rakamları mı süzüyor, metin olsa nasıl bir değişiklik olmalı.
 
Teşekkürler,

Arama sayfasında, "H" ve "I" sütunlarda tutarların küçükten büyüğe doğru sıralanması için kodlarda nasıl değişiklik yapabiliriz?
 
Sn. asri Bey, c sütununda sadece numerik rakamları mı süzüyor, metin olsa nasıl bir değişiklik olmalı.

Süzme işlemi bu satırlar ile yapılmaktadır.
Field daki 3 değeri listedeki 3. kolonu göstermektedir.

Criteria1:="=" & Deg değer bire bir eşit ise anlamındadır.
Criteria1:="=*" & Deg & "*" değer içerir ise anlamındadır.


Kod:
    vsyf.Cells.AutoFilter
    vsyf.Range("$A$1:$M$" & sonsat).AutoFilter Field:=3, Criteria1:="=" & Deg
    vsyf.Range("A1:M" & sonsat).SpecialCells(xlCellTypeVisible).Copy Range("A2")
    vsyf.Range("C2").AutoFilter
 
600,602 hesaplar yazarsak İ sütünü

760,770 hesaplar yazarsak H sütünü
 
Asri, Üstad

Tekrar sağ olun

iyi çalışmalar
 
Geri
Üst