vergi takvimi formül yardımı

Katılım
2 Temmuz 2009
Mesajlar
542
Excel Vers. ve Dili
office 2019 Türkçe
Altın Üyelik Bitiş Tarihi
28/12/2022
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

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Ö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
 
Katılım
2 Temmuz 2009
Mesajlar
542
Excel Vers. ve Dili
office 2019 Türkçe
Altın Üyelik Bitiş Tarihi
28/12/2022
ü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

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Data sayfasında Haziran ayında sadece edefter var, ondan olmasın?
 
Katılım
2 Temmuz 2009
Mesajlar
542
Excel Vers. ve Dili
office 2019 Türkçe
Altın Üyelik Bitiş Tarihi
28/12/2022
ü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
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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
 
Katılım
2 Temmuz 2009
Mesajlar
542
Excel Vers. ve Dili
office 2019 Türkçe
Altın Üyelik Bitiş Tarihi
28/12/2022
üstad çok kişinin işine yarayacak bir çalışma olacak. mükemmel olmuş.ellerinize sağlık. teşekkür ederim.
 

assenucler

Altın Üye
Katılım
19 Ağustos 2004
Mesajlar
3,552
Excel Vers. ve Dili
Ofis 365 TR 64 Windows 11 Home Single Language x64 TR
Altın Üyelik Bitiş Tarihi
29-05-2025
Paylaşımınızı bekliyoruz.
 
Katılım
2 Temmuz 2009
Mesajlar
542
Excel Vers. ve Dili
office 2019 Türkçe
Altın Üyelik Bitiş Tarihi
28/12/2022
takvim tamamlanınca paylaşacağım.
 
Üst