Cinsiyete Göre Seçim Yapma

Katılım
29 Nisan 2009
Mesajlar
82
Excel Vers. ve Dili
2007 türkçe
Selamlar.
Örnek dosyada C sütununda cinsiyetler; D sütununda ise İsimler var. Sayfaya 2 tane buton eklemek istiyorum. Birisine tıklayınca cinsiyet bilgileri ile beraber ERKEK kişileri; diğerine tıklayınca ise cinsiyet bilgileri ile beraber KIZ kişileri seçmek istiyorum.
Bu bilgiler formülle geldiği için üçüncü bir buton ile sayfanın farkı bir yerine tıkladığım hücreden itibaren bu verileri sadece DEĞERLER olarak yapıştırmak istiyorum.

1. BUTON: ERKEK Kişileri Kopyala
2. BUTON: KIZ Kişileri Kopyala
3. BUTON: Kopyalanan verileri DEĞERLER olarak yapıştır.

Emekleriniz için teşekkür ederim.

 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Sayfanıza
Geliştici / Ekle / ActiveX / CommandButton
yoluyla 3 buton ekleyin.
İsimleri CommandButton1, CommandButton2, CommandButton3 olsun

aşağıdaki kodları sayfanın kod sayfasına (sayfa açıkken Alt+F11 e basın) yapıştırın

1. buton ERKEKleri K sütununa kopyalar
2. buton KIZları K sütununa kopyalar
3. buton K sütununu siler
C++:
Private Sub CommandButton1_Click()
    Veri = Range("C1").Resize(Range("C1").End(xlDown).Row, 2).Value
    ReDim Liste(1 To UBound(Veri), 1 To 1)
    Worksheets("ERKEKLER").Range("B2:B" & Rows.Count).ClearContents
    For i = 2 To UBound(Veri)
        If Veri(i, 1) = "ERKEK" Then
            Say = Say + 1
            Liste(Say, 1) = Veri(i, 2)
        End If
    Next i
     Worksheets("ERKEKLER").Range("B2").Resize(Say, 1) = Liste
End Sub
Private Sub CommandButton2_Click()
    Veri = Range("C1").Resize(Range("C1").End(xlDown).Row, 2).Value
    ReDim Liste(1 To UBound(Veri), 1 To 1)
    Worksheets("KIZLAR").Range("B2:B" & Rows.Count).ClearContents
    For i = 2 To UBound(Veri)
        If Veri(i, 1) = "KIZ" Then
            Say = Say + 1
            Liste(Say, 1) = Veri(i, 2)
        End If
    Next i
     Worksheets("KIZLAR").Range("B2").Resize(Say, 1) = Liste
End Sub
Private Sub CommandButton3_Click()
    Worksheets("ERKEKLER").Range("B2:B" & Rows.Count).ClearContents
    Worksheets("KIZLAR").Range("B2:B" & Rows.Count).ClearContents
End Sub
 
Son düzenleme:

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Alternatif olsun, sadece Erkekleri listeleyen kodu ekleyim. Aynısını kızlar için yapın.

Kod:
Public Sub ErkekListele()

Dim i As Long

i = Cells(Rows.Count, "C").End(3).Row

With Range("C1:D" & i)
    .AutoFilter Field:=1, Criteria1:="ERKEK"
    .Copy Range("H1")
End With

Selection.AutoFilter

End Sub
 
Katılım
29 Nisan 2009
Mesajlar
82
Excel Vers. ve Dili
2007 türkçe
Sayfanıza
Geliştici / Ekle / ActiveX / CommandButton
yoluyla 3 buton ekleyin.
İsimleri CommandButton1, CommandButton2, CommandButton3 olsun

aşağıdaki kodları sayfanın kod sayfasına (sayfa açıkken Alt+F11 e basın) yapıştırın

1. buton ERKEKleri K sütununa kopyalar
2. buton KIZları K sütununa kopyalar
3. buton K sütununu siler
C++:
Private Sub CommandButton1_Click()
    Veri = Range("C1").Resize(Range("C1").End(xlDown).Row, 2).Value
    ReDim Liste(1 To UBound(Veri), 1 To 1)
    Range("K:K").ClearContents
    For i = 2 To UBound(Veri)
        If Veri(i, 1) = "ERKEK" Then
            Say = Say + 1
            Liste(Say, 1) = Veri(i, 2)
        End If
    Next i
    Range("K1").Resize(Say, 1) = Liste
End Sub
Private Sub CommandButton2_Click()
    Veri = Range("C1").Resize(Range("C1").End(xlDown).Row, 2).Value
    ReDim Liste(1 To UBound(Veri), 1 To 1)
    Range("K:K").ClearContents
    For i = 2 To UBound(Veri)
        If Veri(i, 1) = "KIZ" Then
            Say = Say + 1
            Liste(Say, 1) = Veri(i, 2)
        End If
    Next i
    Range("K1").Resize(Say, 1) = Liste
End Sub
Private Sub CommandButton3_Click()
    Range("K:K").ClearContents
End Sub
Hocam çok pardon. Aslında başka bir yerde listeme de çok mantıklı geldi. Ama aynı sayfada deği de başka bir excel çalışma sayfasında bir yere yapıştırabilir miyiz sizin yaptığınız gibi. Örneğin ERKEKLER adlı excel dosyasında B2 den itibaren. KIZLAR adlı dosyaya da kızları.
 
Katılım
29 Nisan 2009
Mesajlar
82
Excel Vers. ve Dili
2007 türkçe
Merhaba,
Alternatif olsun, sadece Erkekleri listeleyen kodu ekleyim. Aynısını kızlar için yapın.

Kod:
Public Sub ErkekListele()

Dim i As Long

i = Cells(Rows.Count, "C").End(3).Row

With Range("C1:D" & i)
    .AutoFilter Field:=1, Criteria1:="ERKEK"
    .Copy Range("H1")
End With

Selection.AutoFilter

End Sub
Aslında başka bir yerde listeme de çok mantıklı geldi. Ama aynı sayfada deği de başka bir excel çalışma sayfasında bir yere yapıştırabilir miyiz sizin yaptığınız gibi. Örneğin ERKEKLER adlı excel dosyasında B2 den itibaren. KIZLAR adlı dosyaya da kızları. Tek butonla her ikisini de olabilir
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
ERKEKLER ve KIZLAR sayfalarını oluşturduysanız, KODLARI önceki mesajımda revize ettim.
 
Katılım
29 Nisan 2009
Mesajlar
82
Excel Vers. ve Dili
2007 türkçe
ERKEKLER ve KIZLAR sayfalarını oluşturduysanız, KODLARI önceki mesajımda revize ettim.
ERKEKLER ve KIZLAR sayfalarını oluşturduysanız, KODLARI önceki mesajımda revize ettim.
Maalesef yapamadım.
Eklediğim butonlar Türkçe olarak BUTON_3 BUTON_4 şeklinde isimlendiriliyor. Göndermiş olduğunuz 3 ayrı kodu ayrı ayrı modüllere ekleyip herhangi bir dikdörtgen şekil çizip makro olarak atamaya çalıştım ama bunu da yapamadım.
 
Katılım
19 Mart 2010
Mesajlar
144
Excel Vers. ve Dili
Office 365 İngilizce
Altın Üyelik Bitiş Tarihi
20-01-2024
pivot table oluşturup kız ve erkek sayılarını pivot table'da görüntüleyin. her bir cinsiyetin karşısındaki rakama çift tıklayınca ayrı bir sayfada sadece o cinsiyete ait olan kayıtları çıkarır. makro kullanmak zorunda da kalmazsınız.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Aslında başka bir yerde listeme de çok mantıklı geldi. Ama aynı sayfada deği de başka bir excel çalışma sayfasında bir yere yapıştırabilir miyiz sizin yaptığınız gibi. Örneğin ERKEKLER adlı excel dosyasında B2 den itibaren. KIZLAR adlı dosyaya da kızları. Tek butonla her ikisini de olabilir
Biraz araştırma ile bulabilirdiniz diye düşünüyorum.

Kod:
    .Copy Range("H1")
kopyalanan hücreye sayfa adını da yazarsanaz olur.
Kod:
    .Copy Sheets("FalanFilanSayfasi").Range("B2")
gibi.
 
Üst