Tarihlerle Eşleşen Harfleri Satır Açarak Yerleştirme

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

1903emre34

Kullanıcı
Katkı: %0
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba,

Sayfa1'de harflerin altında tarihler yer almaktadır, sayfa2'de tarihlerin karşısına (satır açarak) hangi harfler yer alıyorsa onun yanına yerleşmesi için nasıl kod oluşturabiliriz, istenen sayfa3 yapılmıştır, örneğin 08.01.2020 tarihin karşısına hangi harfler yer alıyorsa onlar yerleştirilmiştir.
 

Ekli dosyalar

Çözüm
Merhaba,

Sayfa2 listesi oluşturulduktan sonra tarihin karşısındaki kelimeyi I sütununa aktarmak için aşağıdaki makro kullanılabilir. Mevcut listele2 makrosunda MsgBox satırından önce KelimeAktar satırı eklenirse, liste oluşturulduktan hemen sonra aktarma işlemi de kendiliğinden yapılır.

Kod:
Bu kodu görmek için giriş yapmanız gerekmektedir (13 satır). Giriş Yap
@1903emre34
Mevcut kod 1-14'üncü sütunlarda, yani A-N sütunlarında (her sütundaki satır sayısının önemi yok) işlem yapıyor durumda.
Sütun artırmak için 14 sayısını son sütunun sütun numarasıyla değiştirin ya da
14 yerine s.[A2].End(xlToRight).Column yazın.

Hata/sorun olursa, hatalı/sorunlu haliyle yeni bir örnek belge ekleyin.

.
 
Sayfa1'de tarih gibi gördüğünüz verilerin bir kısmı tarih değil METİN.

Verdiğim kodda yeşil renklendirdiğim kısımları düzeltin.
Böylece hem son veri sütunu kodda tespit edilmiş olur, hem de tarih olmayanlar da tarihmiş gibi işleme tabi tutular.

Kod:
Bu kodu görmek için giriş yapmanız gerekmektedir (3 satır). Giriş Yap
 
Merhaba,

Sayfa2 listesi oluşturulduktan sonra tarihin karşısındaki kelimeyi I sütununa aktarmak için aşağıdaki makro kullanılabilir. Mevcut listele2 makrosunda MsgBox satırından önce KelimeAktar satırı eklenirse, liste oluşturulduktan hemen sonra aktarma işlemi de kendiliğinden yapılır.

Kod:
Bu kodu görmek için giriş yapmanız gerekmektedir (42 satır). Giriş Yap

Kod nasıl çalışır?
  1. Sayfa2'de A sütunundaki son dolu satır bulunur ve I sütunu bu satıra kadar temizlenir. Daha aşağıda önceki çalıştırmalardan kalan değer varsa o satıra kadar temizlik yapılır.
  2. Sayfa1'in 2. satırındaki son dolu sütun tespit edilir. Harf başlıkları sabit bir sütun sayısına bağlı olmadığından, yeni harf sütunu eklendiğinde kodda değişiklik gerekmez.
  3. Her satır için Sayfa2'nin F sütunundaki harf, Sayfa1'in 2. satırında aranır ve harfin bulunduğu sütun numarası elde edilir. F sütunu boş olan satırlar işleme alınmaz.
  4. Bu sütunda 3. satırdan aşağı inilerek Sayfa2'deki tarihle eşleşen hücre aranır. Karşılaştırma CDate ile yapıldığı için metin biçiminde yazılmış tarihler de işleme alınır; saat bileşeni taşıyan değerlerde yalnız gün karşılaştırılır.
  5. Eşleşen hücre bulunduğunda hemen sağındaki hücredeki kelime Sayfa2'nin I sütununa yazılır ve o satır için arama sonlandırılır.

Notlar
  • Kelimenin, tarihin bulunduğu sütunun hemen sağındaki sütunda yer alması gerekir. Ekli belgedeki A/B, C/D, E/F ve G/H sütun ikilileri bu düzene uygundur.
  • Makro her çalıştığında I sütunu yeniden oluşturulur. Bu sütuna el ile yazılmış değerler silinir ve yerine Sayfa1'den aktarılan kelimeler yazılır; I1 hücresindeki başlık korunur.
  • Tarihin karşısında kelime yazılmamışsa ilgili hücre boş bırakılır.
  • Metin biçiminde yazılmış tarihlerin işleme alınabilmesi için biçimin sistemin tarih ayarıyla uyumlu olması gerekir.
  • Ekli belgede kod çalıştırıldığında 08.01.2020 tarihi için A, C ve D harflerinin karşısına sırasıyla AAAAA, DDDDD ve AAAAAAAAAA; 28.02.2020 tarihi için B harfinin karşısına BBBBBB değeri gelmektedir. Son satır örnekte işaretlenmemiş olmakla birlikte aynı kurala uyduğu için doldurulmaktadır.
 
Çözüm
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Geri
Üst