• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

vergi takvimi formül yardımı

spacebar

Altın Üye
Katılım
2 Temmuz 2009
Mesajlar
545
Excel Vers. ve Dili
office 2019 Türkçe
değerli üstadlarım. bir çok meslektaşımın işine yarayacak bir çalışma yapmak istiyorum. ancak yardımlarınıza ihtiyacım var. yapmış olduğum vergi ve beyanname takviminde dönemine göre vergi takviminin nasıl olması gerektiğini düzenledim. ancak aya göre hangi beyannamelerin verilmesi gerektiği konusunda formülasyonu nasıl yapmam gerektiğini kurgulayamadım. yapılmak istenen aya göre sayfasında A1 hücresinde haziran seçildiğinde, data sayfasındaki veri tabanına göre haziran olan bütün işlemlerin gelmesini sağlamak. yani aya göre sayfasında A5 ile J16 arasını formüle etmek. (tabi bu daha az veya daha fazla olabilir..haziran ayında bu kadar işlem var.)
yardımlarınız için teşekkür ederim.
 

Ekli dosyalar

Öncelikle Data sayfasında gizli olan D sütununu kesip tablonun en sağına yapıştırın. Yani Data sayfasının veri olan ilk 10 sütunu Aya göre sayfasıyla aynı olsun.

Sonra aşağıdaki kdoları Aya göre sayfasının kod bölümüne (sayfa adına sağ tıklayıp kod görüntüle deyince açılan sayfaya) yapıştırın. Ayı değiştirdiğinizde sorgulama yapıp sonucu getirecektir. Yalnız biçim ayarlarıyla ilgilenmeniz gerekebilir:

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1:B1]) Is Nothing Then Exit Sub
Set s1 = Sheets("Data")
son = s1.Cells(Rows.Count, "A").End(3).Row
eski = WorksheetFunction.Max(5, Cells(Rows.Count, "A").End(3).Row)
Range("A5:J" & eski).ClearContents

Set con = VBA.CreateObject("adodb.Connection")

con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=no"""

sorgu = "select F1,F2,F3,F4,F5,F6,F7,F8,F9,F10 " & _
  "from[Data$A3:J" & son & "] where F1='" & Target & "'"

Set rs = con.Execute(sorgu)

[A5].CopyFromRecordset rs

End Sub
 
üstad ilginiz için teşekkür ederim. sanırım bir hata oldu. veya ben beceremedim. dediğiniz gibi yaptım. data sayfası ile aya göre sayfası aynı oldu. ancak haziranı seçtiğimde sadece edefter satırını getirdi. diğer yükümlülükler gelmedi. kurgu birleştirilmiş hücreye göre yapılıyorsa gelmemesi normal.
 

Ekli dosyalar

Data sayfasında Haziran ayında sadece edefter var, ondan olmasın?
 
üstadım kurgu şöyle olmalı: döneme göre sayfasında mart ayındaki bir beyannamenın ne zaman verilmesi ve ödenmesi gerekiyor bunu gösteriyor. aya göre sayfasında ise seçilen ayda hangi beyannamelerin verilmesi gerektiği isteniyor. örneğimizde haziran seçildiğinde : F G H I sutunlarında haziran ile ilgili bir satır varsa bunların getirilmesi isteniyor. yardımlarınız için teşekkür ederim.217480
 
Bunu bilememem normal tabi. Önceden açıklasaydınız iyi olurdu. Aklınızda olsun sorularınızı sorarken bizim o konuyla ilgili bilgimiz olmadığını unutmayın.

Aşağıdaki gibi deneyin:

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1:B1]) Is Nothing Then Exit Sub
If Target = "Ocak" Then ay = 1
If Target = "Şubat" Then ay = 2
If Target = "Mart" Then ay = 3
If Target = "Nisan" Then ay = 4
If Target = "Mayıs" Then ay = 5
If Target = "Haziran" Then ay = 6
If Target = "Temmuz" Then ay = 7
If Target = "Ağustos" Then ay = 8
If Target = "Eylül" Then ay = 9
If Target = "Ekim" Then ay = 10
If Target = "Kasım" Then ay = 11
If Target = "Aralık" Then ay = 12

Set s1 = Sheets("Data")
son = s1.Cells(Rows.Count, "A").End(3).Row
eski = WorksheetFunction.Max(5, Cells(Rows.Count, "A").End(3).Row)
Range("A5:J" & eski).ClearContents

Set con = VBA.CreateObject("adodb.Connection")

con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=no"""

sorgu = "select F1,F2,F3,F4,F5,F6,F7,F8,F9,F10 " & _
  "from[Data$A3:J" & son & "] where month(F6)=" & ay & " or month(F7)=" & ay & " or month(F8)=" & ay & "or month(F9)=" & ay

Set rs = con.Execute(sorgu)

[A5].CopyFromRecordset rs

End Sub
 
üstad çok kişinin işine yarayacak bir çalışma olacak. mükemmel olmuş.ellerinize sağlık. teşekkür ederim.
 
takvim tamamlanınca paylaşacağım.
 
Geri
Üst