filtreleme ile istenilen değerleri başka bir sayfaya aktarma?

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Meşgul etmezsem bu silme işiyle ilgili soru sormak isterim.
Bahsettiğiniz satırın sonunda Clear / ClearContents / ="" / Delete kullanıldığında farkları nedir acaba?
Kelimelerden anladığım;
ClearContent: İçeriği temizleme,
Delete: Hücreyi silme (bu durumda silinen hücrenin yerine aşağıdan yukarıya ya da sağdan sola hücreler kayacaktır sanırım),
="" : Hücre içeriğini boş hale getirme (ClearContent'ten ne farkı var bilemiyorum)

Clear ile ClearContent arasındaki farkı da bilemiyorum. Clear belki hücre açıklaması gibi şeyleri de siliyordur (ad tanımlanmış hücreyse onun durumunu da bilemiyorum).
Çok sıkmayacaksam farklarını kısaca açıklayabilir misiniz acaba?

Ayrıca önceki sorumda belirttiğim Ctrl+End olayına ilişkin bir şey söylemediniz, o durum aynen duruyor.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,276
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ömer bey,

İlk olarak ikinci sorunuza yanıt vereyim.

Excelde bir hücreye veri yazıp sildiğinizde bu hücre tabiri caizse kirlenmiş olur. Yani exceli ilk açtığınızda boş görünen hücre özelliğini yitirmiş olur. Ctrl+End komutu bu hücreleri boş olsada kullanılmış olduğu için son hücre gibi algılar. Bunu aşmanızın tek yolu bahsi geçen hücreyi DELETE (klavyedeki delete tuşu değil) komutuyla temizlemektir. Maalesef bu da yeterli gelmeyecektir. Akabinde dosyayı kaydetmeniz gerekiyor.

Bu işlemi test etmek için boş bir excel kitabında aşağıdaki adımları izleyin.

A1:A50 arasına birşeyler yazın ve daha sonra aynı hücreleri seçip klavyedeki DELETE tuşu ile içeriklerini temizleyin.
CTRL+END tuşlarına basın. Göreceksiniz excel 50. satıra sizi götürecektir.

Bu sefer aynı işlemi farklı bir şekilde yapalım.
A1:A50 arasına birşeyler yazın ve daha sonra aynı hücreleri seçip seçili alan üzerinde sağ klik yapın ve SİL komutunu çalıştırın. Ekrana gelen menüden TÜM SATIRI seçeneğini seçin.
Bu işlemden sonra ilgili satırlar yukarı ötelenecektir.
CTRL+END tuşlarına basın. Mantıken son satır silindiği için excelin ilk satıra gitmesini bekleyeceksiniz. Fakat göreceksiniz excel 50. satıra sizi götürecektir.
Bu aşamadan sonra dosyanızı kayıt edip CTRL+END tuşuna tekrar basıp sonucu gözlemleyin.

Umarım ikinci sorunuza yeterli cevabı verebilmişimdir.


Diğer sorunuza gelince;

VBA da yazılım farklıkları vardır. Bu komutlarda bunlara örnektir. Bazıları aynı işlemi yapmaktadır.

Örnek; (Aşağıdaki satırların hepsi A1 hücresini ifade eder.)

Cells(1, 1)
Cells(1, "A")
Range("A1")
Range("A" & 1)
[A1]
R1C1


Diğer komutlarıda kısaca açıklamaya çalışayım;

Clear ~ Hücrede ne varsa temizler. (Veri-Kenarlık-Koşullu Biçimlendirme-Veri doğrulama-Renk-Font Özellikleri-Vs ...)

ClearContents ~ Hücrenin içeriğini temizler. Biçimler ve diğer özellikler korunur.

Delete ~ Hücreyi siler. Verilen parametreye göre hücre yukarı ya da sola ötelenir. Parametre tanımlanmazsa yukarı öteler.

Örnek;

Kod:
Sub TEST()
    'Sola öteler...
    Range("B2").Delete xlToLeft
End Sub
Kod:
Sub TEST()
    'Yukarı öteler...
    Range("B2").Delete xlUp
End Sub
"" (Çift tırnak) ~ Bu komutta hücre içeriğini temizlemek için kullanılmaktadır. Bu komut yerine aşağıdaki komutlarda aynı işlemi yapmaktadır.

Range("A1") = Empty
Range("A1") = vbNullString
Range("A1") = Null

Aklıma ilk gelen açıklamaları yazdım. Eksikleri olabilir. Kendinizde netten arama yaparak gerekli açıklamalara daha detaylı şekilde ulaşabilirsiniz.

Şunu unutmayın. Bu işi öğrenmenin en başlıca yöntemi araştırma yapmaktır. Bende bilmediğim konuları arama motorlarını kullanarak araştırıp öğrenmeye çalışıyorum. Kod yazmanın sonu yok. Bol bol pratik yapmanız kod yazma alışkanlığı kazanmanıza fayda sağlayacaktır. Temel bilgileri sağlam atarsanız gerisi çorap söküğü gibi gelecektir. Temel kavramları doğru öğrenmeye gayret edin. Gerekiyorsa bu konularla alakalı kitaplar alıp inceleyin. 3 aylık sıkı bir çalışmadan sonra kendinizdeki gelişime şaşırabilirsiniz.

Kod yazmayı öğrenmeden önce excelin yerleşik işlevlerine (formüller-filtreler-özet tablolar-veri doğrulama-koşullu biçimlendirme gibi...) olan hakimiyetiniz size çok büyük fayda sağlayacaktır. Kodların temelinde bu adımlar önem arz etmektedir. Daha sonra karşınıza tanımlamalar-döngüler-hata kontrolleri-sorgular gibi detaylar çıkacaktır. Bunlara da hakimiyet sağladığınızda bu işin belini bükmüş olacaksınız. Artık bundan sonrası sizin kişisel becerilerinize ve bakış açınıza bağlıdır.

Başladığınız yolda kolaylıklar dilerim...

Bizler her zaman buralardayız. Lütfen takıldığınız noktaları sormaktan çekinmeyin. Elimizden geldiğince ve bilgimiz doğrultusunda yanıtlamaya her zaman hazırız.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Ömer bey,

İlk olarak ikinci sorunuza yanıt vereyim.
.................
Umarım ikinci sorunuza yeterli cevabı verebilmişimdir.

Diğer sorunuza gelince;

VBA da .................
...............
Başladığınız yolda kolaylıklar dilerim...

Bizler her zaman buralardayız. Lütfen takıldığınız noktaları sormaktan çekinmeyin. Elimizden geldiğince ve bilgimiz doğrultusunda yanıtlamaya her zaman hazırız.
Ctrl+End olayı ile ilgili şunu söyleyeyim.
Kaydetme işlemi her şeyi değiştiriyor. Bu olayı hiç fark etmemişim şimdiye kadar. Genellikle kendi belgelerimi oluştururken, tüm işlerimi bitirdikten sonra belgemdeki gerekli satır ve/veya sütunları yeni bir sayfaya alıp o belgeyi kaydetme alışkanlığım olduğundan fark etmemişimdir. Açıklamanız faydalı oldu, teşekkürler.

VBA ile ilgili yazdıklarınızı da değerlendireceğim.
VBA ile ilgim, "yerleşik fonksiyonları hücreye uygula sonra değere dönüştür" aşamasında malesef.
İnşallah fırsat bulurum (fırsat yaratmaya çalışıyorum şu aralar) ve biraz olsun (en azından kendi işlerimi görecek kadar) kod yazmaya başlarım.
Başkasını bilmem ama, ben yaptığını öğrenen biriyim. Açıp kitap okuyarak öğrenileceğine pek inanmıyorum, kitabın faydası sadece aşinalık kazandırmak olacaktır. Bir koda göz attığımda çoğunlukla yapılan işlemi anlıyorum ama hadi kendim yazayım deyince insan kalıveriyor.
Her neyse sıkıştıkça sorular sorarak ve fazlasıyla sizleri meşgul ederek öğrenmeye çalışacağız artık.
Haklarınızı da helal ediniz. Sağlıcakla.
 
Son düzenleme:

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,168
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Ekli dosyayı inceleyiniz

kodlar evvelce bu siteden temin edilen kodlardan yararlanılarak düzenlenmiştir.
E1 hücresine aranan ismi yazıp sonuna* koyarak entere bastığınızda Örn. Gültekin Hay* bu isimle başlayanların tümü listelenecektir.
 
Son düzenleme:
Katılım
27 Şubat 2012
Mesajlar
22
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
05.06.2022
Merhaba bende cok araştırmama rağmen bu konu ile ilgili problemime çözüm bulamadım.Siz bilgili arkadaşlarıma sormak istedim.

Bendeki dosyada KAYITLAR sayfasında bir yazdır butonu var.Bu yazdır butonuna bastığım zaman.Filtreleme yaptığımda gelen satırın,B3,D3,F3,G3,H3 değerlerinin MAKBUZ ÇIKTISI SAYFASINDA Kİ karşılıklarına yazmasını istiyorum.

Yani olay geçmişe dönük bir faturanın makbuzunu yazdırmak istediğinde örneğin tesisat numarasına göre arama yaptığında gelen satırı makbuz çıktısı bölümüne aktarması.
Bunu bir türlü yapamadım.Yardımlarınız için şimdiden çok teşekkür ederim.
 

Ekli dosyalar

Son düzenleme:
Üst