dengeceteris
Altın Üye
- Katılım
- 21 Aralık 2019
- Mesajlar
- 192
- Excel Vers. ve Dili
- Office 2016
- Altın Üyelik Bitiş Tarihi
- 15-06-2025
Sevgili Üstadlarım:
Ekte bir dosyam var. Bu dosyanın muhteviyatı bitince özellikle mali müşavirlik yapan arkadaşlar için geçici veya kurumlar vergisi hesaplamada kullanışlı olacağına inandığım bir dosya onun için de biter bitmez yararlı olması ümidiyle burada yayımlayacağım. Bu dosyanın aslında büyük kısmı bitti. Ama ben başlangıçta bir kaç noktada eksikliklerim var onun için zorlandığım kısmını buraya aldım.
Bu dosyada MİZAN1 diye isimlendirdiğim sayfa ister veri okutarak isterse direkt copy-paste yaparak aldığım ham verilerden oluşmaktadır. Ham verim mesela 1000 satırda çalışırken 5 bin li 10 binli ham verilerde çalışmıyor hatalı yeri tespit edemedim ve yeterince hızlı çalıştıramadım. Onun için bu iki sorunu halletmeye çalışıyorum.
-MİZAN MODÜLÜ-içinde kendimce bir şeyler yazdım.
1. Verileri MİZAN1 sayfasına aldıktan sonra HAZIRLA butonuna basıyorum. Bu buton öncelikle sayfanın DÜZENLE modülünden yapısını, düzenini, yazı karakteri vb ayarları düzenliyor.
2. İkinci aşamada aşağıda ki düşeyara formülü yazdım ama daha kısa satırlarda çalışırken uzunlarda çalışmadı. Aşağıda yapmaya çalıştığım şeyleri umarım anlatabilmişimdir. Büyük oran da da yaptım ama bu dosyada 5 adet MİZAN sayfası var. Çok büyük yapılı dosyalar değil her bir sayfada ortalama 3-5 bin satır ham veri. Bunu hem çalıştırmakta zorlanıyorum. Hem de MİZAN1 makrosu 10-12 saniye kadar sürüyor. (Son aşamada bir filtreleme yapıyor)
If s1.Cells(x, 1) <> "" Then
s1.Cells(x, 39) = Wf.IfError(Application.VLookup(CInt(Left(s1.Cells(x, 1), 3)), s2.Range("A3:C1000").Value, 3, 0), "")
3. Üçüncü olarak bazı kriterler verdim.Daha önce 39. sütuna çekmeye çalıştığım verileri "AKTİF", "PASİF" vb bir kriter olarak aldım. ve MİZAN1 sayfasında bir kodun karşılığı eğer "AKTİF" ise "E" sütunu"F" sütunundan büyük olmak zorunda ; değilse eğer 9.sütuna "Ters" Yazsın.
4. Eğer bir kodun karşılığı "PASİF" ise "F" sütunu "E" sütunundan büyük olmak zorunda ; değilse "Ters" yazsın
5. Eğer bir kodun karşılığı "A.DÜZENLEYİCİ" ise ve "F" sütunu "E" sütunundan büyük olmak zorunda ; değilse "Ters" yazsın
6. Eğer bir kodun karşılığı "P.DÜZENLEYİCİ" ise ve "E" sütunu "F" sütunundan büyük olmak zorunda ; değilse "Ters" yazsın
7. Eğer bir kodun karşılığı "GELİR" ise ve "F" sütunu "E" sütunundan büyük olmak zorunda ; değilse "Ters" yazsın
8. Eğer bir kodun karşılığı "GİDER" ise ve "E" sütunu "F" sütunundan büyük olmak zorunda ; değilse "Ters" yazsın
Devamı yapmak istediklerim de modül içinde var.
ANAMİZAN sayfasında ise yaptıklarım MİZAN sayfalarında ki verileri sıralı bir şekilde ETOPLA formülü ile buraya getirmekden ibaret. Bunları:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) başlangıcı ile yazdım. ama bu sayfam kapalı ve ben userform üzerinden textbox ile bir işlem yaptığım zaman bu ANAMİZAN sayfasını da etkileyen hücreler var. Ama ben bu sayfaya girip herhangi bir girip çıkmadığım zaman bu devreye girmiyor. Onun için formülle dizayn ettim. ama bir yolu varsa bunu tekrar vba ile yazmak isterim.
Saygılarımla...
Ekte bir dosyam var. Bu dosyanın muhteviyatı bitince özellikle mali müşavirlik yapan arkadaşlar için geçici veya kurumlar vergisi hesaplamada kullanışlı olacağına inandığım bir dosya onun için de biter bitmez yararlı olması ümidiyle burada yayımlayacağım. Bu dosyanın aslında büyük kısmı bitti. Ama ben başlangıçta bir kaç noktada eksikliklerim var onun için zorlandığım kısmını buraya aldım.
Bu dosyada MİZAN1 diye isimlendirdiğim sayfa ister veri okutarak isterse direkt copy-paste yaparak aldığım ham verilerden oluşmaktadır. Ham verim mesela 1000 satırda çalışırken 5 bin li 10 binli ham verilerde çalışmıyor hatalı yeri tespit edemedim ve yeterince hızlı çalıştıramadım. Onun için bu iki sorunu halletmeye çalışıyorum.
-MİZAN MODÜLÜ-içinde kendimce bir şeyler yazdım.
1. Verileri MİZAN1 sayfasına aldıktan sonra HAZIRLA butonuna basıyorum. Bu buton öncelikle sayfanın DÜZENLE modülünden yapısını, düzenini, yazı karakteri vb ayarları düzenliyor.
2. İkinci aşamada aşağıda ki düşeyara formülü yazdım ama daha kısa satırlarda çalışırken uzunlarda çalışmadı. Aşağıda yapmaya çalıştığım şeyleri umarım anlatabilmişimdir. Büyük oran da da yaptım ama bu dosyada 5 adet MİZAN sayfası var. Çok büyük yapılı dosyalar değil her bir sayfada ortalama 3-5 bin satır ham veri. Bunu hem çalıştırmakta zorlanıyorum. Hem de MİZAN1 makrosu 10-12 saniye kadar sürüyor. (Son aşamada bir filtreleme yapıyor)
If s1.Cells(x, 1) <> "" Then
s1.Cells(x, 39) = Wf.IfError(Application.VLookup(CInt(Left(s1.Cells(x, 1), 3)), s2.Range("A3:C1000").Value, 3, 0), "")
3. Üçüncü olarak bazı kriterler verdim.Daha önce 39. sütuna çekmeye çalıştığım verileri "AKTİF", "PASİF" vb bir kriter olarak aldım. ve MİZAN1 sayfasında bir kodun karşılığı eğer "AKTİF" ise "E" sütunu"F" sütunundan büyük olmak zorunda ; değilse eğer 9.sütuna "Ters" Yazsın.
4. Eğer bir kodun karşılığı "PASİF" ise "F" sütunu "E" sütunundan büyük olmak zorunda ; değilse "Ters" yazsın
5. Eğer bir kodun karşılığı "A.DÜZENLEYİCİ" ise ve "F" sütunu "E" sütunundan büyük olmak zorunda ; değilse "Ters" yazsın
6. Eğer bir kodun karşılığı "P.DÜZENLEYİCİ" ise ve "E" sütunu "F" sütunundan büyük olmak zorunda ; değilse "Ters" yazsın
7. Eğer bir kodun karşılığı "GELİR" ise ve "F" sütunu "E" sütunundan büyük olmak zorunda ; değilse "Ters" yazsın
8. Eğer bir kodun karşılığı "GİDER" ise ve "E" sütunu "F" sütunundan büyük olmak zorunda ; değilse "Ters" yazsın
Devamı yapmak istediklerim de modül içinde var.
ANAMİZAN sayfasında ise yaptıklarım MİZAN sayfalarında ki verileri sıralı bir şekilde ETOPLA formülü ile buraya getirmekden ibaret. Bunları:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) başlangıcı ile yazdım. ama bu sayfam kapalı ve ben userform üzerinden textbox ile bir işlem yaptığım zaman bu ANAMİZAN sayfasını da etkileyen hücreler var. Ama ben bu sayfaya girip herhangi bir girip çıkmadığım zaman bu devreye girmiyor. Onun için formülle dizayn ettim. ama bir yolu varsa bunu tekrar vba ile yazmak isterim.
Saygılarımla...
Ekli dosyalar
-
478.6 KB Görüntüleme: 5