Makrosu yapılabilirmi

Katılım
29 Ağustos 2007
Mesajlar
7
Excel Vers. ve Dili
office 2007
Örnek dosyada sadece 5 sayfasını gönderdiğim yaklaşık 200 sayfalık bir bebek aşı ve izlem verilerimin olduğu bir kaynağım var.Bu sayfalardaki bebek izlem tarihlerini tc kimlik numaralarına göre bir satıra sıralıyabilecek ve o satırda uygun kriterlere göre yerleştirebilecek bir makro yapılabilirmi acaba....
 
Son düzenleme:

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Açıklamalarınızda gördüğüm kadarıyla eksik noktalar var. Örneğin eklediğiniz dosyada A2 hücresindeki tc kimlik nolu hastaya karşılık gelen C ve E sütunlarında bulunan tarih aralığına sadece bir tarih yazmışsınız. Halbuki sayfa1de bu kritere uyan iki adet tarih var. (02.05 ve 14.05) Ayrıca aynı tc kimlik numaralı hastanın örneğin c3,c4.... diye giden tarih aralıklarınada bakılacakmıdır? eğer bakılacaksa tc kimlik nolarını A sütununda altalta yazmak çelişkili oluyor. Birde dosyanızda a13 hücresinden itibaren demişsiniz. Bununda sebeini anlayamadım. Bence dosyanıza en az iki tc kimlik nosu için yerleştirme yaparak yeniden ekleyin. Böylece daha kolay anlaşılacaktır. Neticede konunun doğru anlaşılması çok önemli çünkü bebeklerin sağlığı sözkonusudur.
 
Katılım
29 Ağustos 2007
Mesajlar
7
Excel Vers. ve Dili
office 2007
:)

Sayın Levent bey çocuklarımın sağlığı konusunda en ufak bir endişeniz olmasın.Zaten en iyi şekilde takip ediliyorlar.Bu işlem sadece benim takip için harcıyacağım zamanı kısaltacak.İşimi kolaylaştıracak.İstediğiniz değişiklikleri ve ek açıklamaları dosya üstünde yaptım.
Aslına bakarsanız visual basic dilinde sayfada bulduğum doğum tarihini text olarak alıp bu tarihe nasıl 29 veya 59 vb ekleyerek izlem tarihleri verilen iki tarih aralığındamı tesbit edebilsem bu kadarı bile işimi tamamlamam için yeterli.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın drkapkara,

Bence yapmak istediğiniz bu uygulamayı Access te yaparsanız hem daha esnek hem daha emin hem de daha çabuk olacak. İlerde eklemek istediğiniz daha başka sorguları daha çabuk ekleyebilecek ve sonuçları da daha çabuk alabileceksiniz.

Eğer Access ile ilgilenirseniz, ilgili forum alanına bir mesaj yazmanız yeterli.

İyi çalışmalar
 
Katılım
29 Ağustos 2007
Mesajlar
7
Excel Vers. ve Dili
office 2007
accesim yokki

Maalesef tam sürüm ofisim olmadığı için bu işi exelde yapmak zorundayım.Aslında sorduğum bir bütünün bir parçası .Bu bilgilerin web sitesinden indirilmesi ve aşılarla ilgili olanların yerleştirilmesi işini ben hallettim zaten.Ne yazıkki izlemlerle ilgili olan bölümü halledemedim.İlginiz için yinede tşk ederim.
 
Katılım
29 Ağustos 2007
Mesajlar
7
Excel Vers. ve Dili
office 2007
Teşekkür ederim

Sayın Modalı teşekkür ederim ilginiz için.Sizede iyi çalışmalar.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bende dosyanıza bir makro ekledim. Ancak yüzdeyüz doğrulukta işlem yapıp yapmadığını iyice test etmenizi rica ederim. Neticede bir tarih atlamayalım. Herşeyden önemli olan bebeklerin sağlığıdır.
 
Katılım
29 Ağustos 2007
Mesajlar
7
Excel Vers. ve Dili
office 2007
Sayın Levent bey makronuz sağlıklı olarak çalışıyor.Hazırlamış olduğunuz makro bazı değişikliklerle şu hale geldi.
Sub verilerial()


[a7:ı65536].ClearContents
[l7:l65536].ClearContents
[o7:eek:65536].ClearContents
[r7:r65536].ClearContents
[u7:u65536].ClearContents
[x7:x65536].ClearContents
[aa7:aa65536].ClearContents
[ad7:ad65536].ClearContents
[ag7:ag65536].ClearContents
[ak7:ak65536].ClearContents
[al7:al65536].ClearContents

For a = 7 To Sheets.Count
Cells(a, "a") = Sheets(a).[b2]
Cells(a, "b") = Sheets(a).[d2]
Cells(a, "c") = Sheets(a).[f2]
Cells(a, "d") = Sheets(a).[h2]

For b = 11 To Sheets(a).[a65536].End(3).Row
If Sheets(a).Cells(b, "a") >= Cells(a, "j") And Sheets(a).Cells(b, "a") <= Cells(a, "k") And Cells(a, "l") = "" Then
Cells(a, "l") = Sheets(a).Cells(b, "a")
End If
If Sheets(a).Cells(b, "a") >= Cells(a, "m") And Sheets(a).Cells(b, "a") <= Cells(a, "n") And Cells(a, "o") = "" Then
Cells(a, "o") = Sheets(a).Cells(b, "a")
End If
If Sheets(a).Cells(b, "a") >= Cells(a, "p") And Sheets(a).Cells(b, "a") <= Cells(a, "q") And Cells(a, "r") = "" Then
Cells(a, "r") = Sheets(a).Cells(b, "a")
End If
If Sheets(a).Cells(b, "a") >= Cells(a, "s") And Sheets(a).Cells(b, "a") <= Cells(a, "t") And Cells(a, "u") = "" Then
Cells(a, "u") = Sheets(a).Cells(b, "a")
End If
If Sheets(a).Cells(b, "a") >= Cells(a, "v") And Sheets(a).Cells(b, "a") <= Cells(a, "w") And Cells(a, "x") = "" Then
Cells(a, "x") = Sheets(a).Cells(b, "a")
End If
If Sheets(a).Cells(b, "a") >= Cells(a, "y") And Sheets(a).Cells(b, "a") <= Cells(a, "z") And Cells(a, "aa") = "" Then
Cells(a, "aa") = Sheets(a).Cells(b, "a")
End If
If Sheets(a).Cells(b, "a") >= Cells(a, "ab") And Sheets(a).Cells(b, "a") <= Cells(a, "ac") And Cells(a, "ad") = "" Then
Cells(a, "ad") = Sheets(a).Cells(b, "a")
End If
If Sheets(a).Cells(b, "a") >= Cells(a, "ae") And Sheets(a).Cells(b, "a") <= Cells(a, "af") And Cells(a, "ag") = "" Then
Cells(a, "ag") = Sheets(a).Cells(b, "a")
End If
If Sheets(a).Cells(b, "a") >= Cells(a, "ah") And Sheets(a).Cells(b, "a") <= Cells(a, "aj") And Cells(a, "ak") = "" Then
Cells(a, "ak") = Sheets(a).Cells(b, "a")
End If

Next
Next
End Sub

Burada hangi sayfadan başlarsa başlasın(7.satıra yazdırabilmek için 7.sayfadan başlamak zorunda kaldım.) verileri 7.satırdan başlamak üzere ve 7,11,15,19,23. vb satırlara tc ve diğer kimlik bilgilerini yazacak 10.14.18.22. satırlara doğum tarihini atacak ve izlemleri 10.14.18.22.vb satıra yazacak
örneğin.a7=tc b7=ad c7=soyad d10=doğum tarihi l10 ilk izlem tarihi
a11=tc b11=ad c11=soyad d14=doğum tarihi l14 ilk izlem tarihi
a15=tc b15=ad c15=soyad d18=doğum tarihi l18 ilk izlem tarihi vb tarzında olacak.
Bu arada sorunumu hatasız olarak bir başka yolla çözdüm.Ama sizin yol çok daha hızlı çalışıyor.Tşk ederim.
 
Üst