• Web sitemize destek olmak, Hazır Excel Dosyaları indirmek ve sitemizi reklamsız kullanmak için VIP Üyelik Satın alabilirsiniz.
    Hesabını VIP Üyeliğe Yükselt

Çözüldü İsime göre çıktı almak istiyorum

REKLAM

rahmiserifoner

Yeni Üye
Kullanıcı
Yaş
41
Versiyon
  1. Excel 2016
Sürüm
  1. 64 bit
Dil
  1. Türkçe

Reputation:

Merhaba,

Ekteki dosyada Ekip başlığı altındaki isimlerine göre ayrı ayrı çıktı almak istiyorum. Yardımlarınız için teşekkürler...
 



Forumumuzu reklamsız kullanmak, Hazır Excel Dosyaları indirmek ve web sitemize destek olmak için Hesap Yükseltme yapabilirsiniz. Detayları buradan inceleyebilir, hemen hesabınızı yükseltebilirsiniz.

Ekli dosyalar

  • Kesikten.xlsx
    20.3 KB · Görüntüleme: 6
Çözüm
Merhabalar Sn. rahmiserifoner

-- Kodların açıklamaları aşağıdadır.
-- Takıldığınız yerde yeniden yazarsanız yardımcı olamaya çalışırız.

' tek tırnaklı bölümler, Excel VBA için açıklama satırıdır, kod içinde Yeşil Renkli olarak görünürler ve kodun çalışmasına herhangi bir etkileri yoktur.
C#:
Sub ekip() ' Sub kelimesinden sonra istediğiniz bir kelime ile başlık oluşturabilirsiniz. ekip benim belirlediğim başlık.

Application.ScreenUpdating = False ' Ekran hareketlerini kapatır

'-----------------------------------------------
Dim ekip As Worksheet, ksk As Worksheet
Dim XDson As Long, kSon As Long, x As Long
' Değişken tanımlarının yapıldığı alan, değişken isimlerini istediğiniz gibi değiştrebilirsiniz.
' Burada...

AhmetRasim

Forum Yönetimi
Yönetici
Site Yöneticisi
Versiyon
  1. Excel 2019
Sürüm
  1. 32 bit
Dil
  1. Türkçe

Reputation:

Merhabalar Sn. rahmiserifoner
Örnek olarak ekteki dosyayı kullanabilirsiniz.

-- İş Emri Yazdır düğmesine tıkladığınız zaman kodlar çalışmaya başlar.
-- Ekip isimlerinin sıralanması için Ekip isimli bir sayfa oluşturdum. KSK sayfasındaki ekipler bu sayfaya kopyalanır ve kayıtlar teke düşürülür.
-- Teke düşürülen ekip isimleri döngü ile filtrelenir ve KSK sayfası çıktı alınır.

Not: KSK isimli sayfanın sekme ismindeki boşluğu sildim.

*Dosya güncellenmiştir.
 



Forumumuzu reklamsız kullanmak, Hazır Excel Dosyaları indirmek ve web sitemize destek olmak için Hesap Yükseltme yapabilirsiniz. Detayları buradan inceleyebilir, hemen hesabınızı yükseltebilirsiniz.

Ekli dosyalar

  • Kesikten.xlsm
    29.7 KB · Görüntüleme: 13

rahmiserifoner

Yeni Üye
Kullanıcı
Yaş
41
Versiyon
  1. Excel 2016
Sürüm
  1. 64 bit
Dil
  1. Türkçe

Reputation:

Ahmet Bey merhaba,
Desteğiniz için teşekkür ederim. Bir sorum daha olacak. Makro kısmını açıklamalı olarak yazmanız mümkün müdür? çünkü bu makroyu ben farklı dosyalarda kullanacağım ve kolon isimleri değişecek sonucunda hata verecek. Bunun tarafımdan düzenlenebilir olması için rica ediyorum.
 



Forumumuzu reklamsız kullanmak, Hazır Excel Dosyaları indirmek ve web sitemize destek olmak için Hesap Yükseltme yapabilirsiniz. Detayları buradan inceleyebilir, hemen hesabınızı yükseltebilirsiniz.

AhmetRasim

Forum Yönetimi
Yönetici
Site Yöneticisi
Versiyon
  1. Excel 2019
Sürüm
  1. 32 bit
Dil
  1. Türkçe

Reputation:

Merhabalar Sn. rahmiserifoner
Rica ederim.
Satırların açıklamalarını ilk fırsatta eklerim.
 



Forumumuzu reklamsız kullanmak, Hazır Excel Dosyaları indirmek ve web sitemize destek olmak için Hesap Yükseltme yapabilirsiniz. Detayları buradan inceleyebilir, hemen hesabınızı yükseltebilirsiniz.

AhmetRasim

Forum Yönetimi
Yönetici
Site Yöneticisi
Versiyon
  1. Excel 2019
Sürüm
  1. 32 bit
Dil
  1. Türkçe

Reputation:

Merhabalar Sn. rahmiserifoner

-- Kodların açıklamaları aşağıdadır.
-- Takıldığınız yerde yeniden yazarsanız yardımcı olamaya çalışırız.

' tek tırnaklı bölümler, Excel VBA için açıklama satırıdır, kod içinde Yeşil Renkli olarak görünürler ve kodun çalışmasına herhangi bir etkileri yoktur.
C#:
Sub ekip() ' Sub kelimesinden sonra istediğiniz bir kelime ile başlık oluşturabilirsiniz. ekip benim belirlediğim başlık.

Application.ScreenUpdating = False ' Ekran hareketlerini kapatır

'-----------------------------------------------
Dim ekip As Worksheet, ksk As Worksheet
Dim XDson As Long, kSon As Long, x As Long
' Değişken tanımlarının yapıldığı alan, değişken isimlerini istediğiniz gibi değiştrebilirsiniz.
' Burada yaptığınız isim değişikliklerini, aşağıdaki satırlarda da değiştirmeniz gerekir.
' ekip ve ksk isimli değişkenler Worksheet yani sayfa özelliklerini alacak şekilde tanımlandı
' XDson, kSon ve x ise Sayısal değer alacak şekilde tanımlandı
' Long değişkeni -2,147,483,648 ile 2,147,483,647 arası değer alabilir.
'-----------------------------------------------

'-------------------------------------------------
Set ekip = Sheets("Ekip"): Set ksk = Sheets("KSK")
' Set ile sayfa olarak belirlediğimiz değişkenlere, istediğimiz sayfayı atıyoruz
' Bu işlemin amacı sayfa isimlerini tekrar tekrar yazmamak. Bu nedenle kısa tanımlamalar yapılıyor.
'-------------------------------------------------

'-------------------------------------------------
XDson = ekip.Range("A" & Rows.Count).End(xlUp).Row + 1
' ekip.Range("A" & Rows.Count).End(xlUp).Row --> bu ifade Ekip isimli sayfada A sütununa göre Son Dolu Hücrenin Satır Numarasını bulur.
' +1 ile bulunan numaraya 1 eklenmiş olur.
' Neden 1 ekledik? Bu değeri ilk önce aşağıda Clear işleminde kullanacağız.
' Eğer ekip sayfasında değer yoksa Dolu satır numarası 1 olur ve ekip.Range("A2:A" & XDson).Clear satırı başlığı silmiş olur.
' Bunun önlemek için Dolu Satır Numarasına +1 ekledim.
' Son olarak elde edilen değer XDson değişkenine atanır.

kSon = ksk.Range("K" & Rows.Count).End(xlUp).Row
' Bu ifade de KSK isimli sayfada K sütununa göre Son Dolu Satır Numarasını bulur ve kSon değişkenine tanımlama yapar.
'-------------------------------------------------

'-------------------------------------------------
ksk.Shapes.Range(Array("yaz")).Visible = msoFalse
' ksk isimli sayfada bulunan yaz isimli nesnenin görünür olma özelliğini kapatır
' Bu işlemin nedeni, çıktı alırken nesnenin sayfaya çıkmaması için.
'-------------------------------------------------

'-------------------------------------------------
ekip.Range("A2:A" & XDson).Clear
' ekip sayfasının A sütununu temizler.
' Kayıtlar A2 den başladığı için A2 ile son dolu satır arasını alır.

ksk.Range("K3:K" & kSon).Copy
' ksk sayfasında K3 hücresi ile K sütunundaki son dolu satır arasında kalan hücreleri Kopyalar

ekip.Range("A2").PasteSpecial xlPasteValues
' Kopyalanan hücreleri ekip sayfasında A2 hücresine Değer Olarak (Biçimlendirme ve formüller vb olmadan) yapıştırır.
'-------------------------------------------------

'-------------------------------------------------
XDson = ekip.Range("A" & Rows.Count).End(xlUp).Row
' Hücreleri yapıştırma işleminden sonra Ekip sayfasında A sütununa göre yeniden Son Dolu Satır Numarasını alır.

ekip.Range("A2:A" & XDson).RemoveDuplicates Columns:=1, Header:=xlNo
' Ekip sayfasında A sütunundaki değerler için Yinelenenleri Kaldır işlemi yapılır.

XDson = ekip.Range("A" & Rows.Count).End(xlUp).Row
' İşlem sonrası yeniden Son Dolu Satır Numarasını alır, bu alınan son değer döngü işleminde kullanıldı
'-------------------------------------------------

'-------------------------------------------------
' Temel For Next döngüsü, Forumda anlatım konusu yer almaktadır https://www.exceldestek.com/konu/excel-for-next-dongusu.985/
For x = 2 To XDson
' Buradaki x değişkenini satır numarası için kullanıyoruz, ekip.Cells(x, "A") ifadesinde.
' Ekip sayfasında kayıtlar 2. satırdan başladığı için Döngünün başlangıç sayısı 2 , bitiş sayısı da son dolu satır numarası
' Döngü başladığı zaman ekip.Cells(x, "A") ifadesi ekip.Cells(2, "A") olacak, buda Ekip Sayfasındaki A2 hücresi demektir.
' Döngü ilerledikçe ekip.Cells(x, "A") ifadesi de A sütunundaki son dolu satır numarasına kadar değişerek ilerleyecek.

    ksk.Range("A2:N" & kSon).AutoFilter Field:=11, Criteria1:=ekip.Cells(x, "A")
' Bu satır ile ksk sayfasında filtreleme işlemi yapılır.
' kSon değişkenine kodun başlarında ksk sayfasında A sütununa göre son dolu satır numarasını atamıştık. ( Örnek dosyada son dolu satır 65 )
' ksk sayfasındaki tablo A ile N sütunları arasında ve başlıklar 2. satırda olduğu için
' Filtrelenecek alan olarak A2 den N sütunu aralığı belirleniyor. ( Örnek dosyada A2:N65 )
' Field:=11 ifadesi de Filtreleme yapılacak olan sütunu belirler.
' Burada filtrelenen sütun Ekip başlığı olan K sütunu
' Criteria1:=ekip.Cells(x, "A") ifadesi ise hangi veriye göre filtreleneceğini belirler.
' Örnek olarak Ekip sayfasında ilk veri CÜNEYT KINAY-ÖMER BEKTAŞ

    ksk.PrintOut
' Filtreleme işleminden sonra sayfayı doğrudan Aktif olan ( Varsayılan olarak seçili ) yazıcıya göderir.
' Eğer yazdırma işlemi yerine Baskıönizleme yapmak isterseniz PrintOut kısmını PrintPreview ile değiştiriniz.

Next x ' Bir sonraki değere geçiş yapar; x = 2 ise Next satırında x = 3 olur ve yeniden For satırına geçer
'-------------------------------------------------

'-------------------------------------------------
ksk.Shapes.Range(Array("yaz")).Visible = msoTrue
' ksk isimli sayfada bulunan yaz isimli nesnenin görünür olma özelliğini açar.
'-------------------------------------------------

'-------------------------------------------------
ksk.Range("A2:N" & kSon).AutoFilter Field:=11
' ksk sayfasındaki Filtre işlemi iptal edilir.
'-------------------------------------------------

'-------------------------------------------------
Set ekip = Nothing: Set ksk = Nothing
XDson = 0: kSon = 0: x = 0
' Kodun başında tanımlama yaptığımız değişkenleri türlerine uygun olarak temizliyoruz.
' Bu işlemin amacı değişkenlerin hafızada yer tutmaması için.
'-------------------------------------------------

Application.ScreenUpdating = True ' Ekran hareketlerini açar

End Sub ' Kodların çalışması bu satır ile sonlanır.
Faydalı olması dileği ile.
 



Forumumuzu reklamsız kullanmak, Hazır Excel Dosyaları indirmek ve web sitemize destek olmak için Hesap Yükseltme yapabilirsiniz. Detayları buradan inceleyebilir, hemen hesabınızı yükseltebilirsiniz.
Çözüm

rahmiserifoner

Yeni Üye
Kullanıcı
Yaş
41
Versiyon
  1. Excel 2016
Sürüm
  1. 64 bit
Dil
  1. Türkçe

Reputation:

Çok teşekkürler ellerinize sağlık sağolun.
 



Forumumuzu reklamsız kullanmak, Hazır Excel Dosyaları indirmek ve web sitemize destek olmak için Hesap Yükseltme yapabilirsiniz. Detayları buradan inceleyebilir, hemen hesabınızı yükseltebilirsiniz.

Üst