Makro ile Tarihlere Göre Puan Harflerini Sayma

  • Konuyu başlatan Konuyu başlatan ddarkk
  • Başlangıç tarihi Başlangıç tarihi
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

ddarkk

Kullanıcı
Katkı: %0
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Elimde bir tablo verisi var tablo üzerinden tarihler ve puan harflerini içeren sütunlar bulunuyor istediğim şey şu tarihlere ve puanlara göre sayım yaptırım bunu bir pivot table (özet tablo) olarak yazdırmak istiyorum. 1. resimde ki tabloyu 2. resimde ki tabloya dönüştürüp sayım yaptırmak istiyorum. Makro ile yapılıp bir otomasyon yapılabilir mi?

Mesela bir butona basılacak ve aşağıda ki şekilde (2. resimde ki gibi) bir görüntü olacak COUNTIF ile yapılabilir diye düşündüm ilk başta COUNTIF ile yaparken hücre aralıklarını kendim seçmem gerekiyor galiba bunlar dinamik olabilir mi mesela yardımlarınız için teşekkür ederim tekrardan.

mmynay2.webp

tcey7jc.webp
 
Çözüm
Merhaba, aşağıdaki makro not çizelgesindeki tarih sütunlarını ve puan harflerini kendisi bulur, her tarih için harf sayılarını "Özet" adlı sayfaya yazar. Satır, tarih sütunu veya yeni bir harf eklendiğinde aralık seçmeye gerek kalmaz; makroyu yeniden çalıştırmanız yeterlidir.

Kod:
Bu kodu görmek için giriş yapmanız gerekmektedir (9 satır). Giriş Yap
Merhaba, aşağıdaki makro not çizelgesindeki tarih sütunlarını ve puan harflerini kendisi bulur, her tarih için harf sayılarını "Özet" adlı sayfaya yazar. Satır, tarih sütunu veya yeni bir harf eklendiğinde aralık seçmeye gerek kalmaz; makroyu yeniden çalıştırmanız yeterlidir.

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

Makro nasıl çalışır?
  1. Son öğrenci satırını A sütunundan, son tarihi 3. satırdan bulur; böylece tablo büyüdükçe aralık kendiliğinden genişler.
  2. Her tarih sütunundaki harfleri tek tek okur, boş hücreleri atlar ve harf ile tarih çiftine göre sayar. Harfin başındaki/sonundaki boşluk ve küçük-büyük harf farkı sonucu etkilemez.
  3. Bulunan harfleri alfabetik sıraya dizer; o tarihte hiç geçmeyen harf için 0 yazar.
  4. "Özet" sayfası yoksa oluşturur, varsa içeriğini temizleyip tabloyu yeniden yazar. Başlıklardaki tarihler kaynak tablodaki tarih biçimini korur.

Notlar
  • Kod, VBA düzenleyicisinde (Alt+F11) Insert > Module ile açılan modüle yapıştırılmalıdır. Dosya .xlsm olarak kaydedilmelidir.
  • Sayfa adınız "Sayfa1" değilse veya tarihler 3. satırda ve D sütunundan başlamıyorsa kodun başındaki ilgili sabitler güncellenmelidir.
  • Düğme için Geliştirici > Ekle > Düğme (Form Denetimi) seçilip NotOzetiOlustur makrosu atanabilir.
  • Sonuçlar formül değil değer olarak yazılır; notlar değiştiğinde makro yeniden çalıştırılmalıdır.
 
Çözüm
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Geri
Üst