• DİKKAT

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

Piyasa Firmalar Aylık Borçlar

  • Konbuyu başlatan Konbuyu başlatan modoste
  • Başlangıç tarihi Başlangıç tarihi

modoste

Altın Üye
Katılım
31 Mayıs 2008
Mesajlar
3,714
Excel Vers. ve Dili
Microsoft OFFİCE Ev ve İş 2019 TR
Merhaba sayın hocalarım
daha önceden fonksiyonlar kısmında sorularıma cevap alıyordum.
fazla sekmeden oluşan veri sıralama gibi fonksiyonlarla çok zorlayıcı olan çözümler için hocalarımdan makro ile ilgili çözümler daha iyi olucağını anladıktan sonra makrolu çözümlerin işimi gördüğü soruları sormak istiyorum.

ekleyeceğim dosyada (her sekmenin biçimi sütun yerleri vs leri aynı) 150 sekmeye çıkabiliyo 1 sene içinde. soruda 3 sekmeden ibaret sordum
M1-M2-M3 ile belirttim her sekmenin tablo biçiminde; sol üst köşede C1 hücresindefirma adı yazıyo. her sekmenin B4 den başlayan (B sütunu) ve aşağıya doğru ilerleyen Tarih kısmı, N4 den (N sütunu) başlayan Parasal Alacak kısmı var. kıyaslamalr buralar olucak.
sorumun metinsel ifadesi şu
Aylık özet sekmesinde tüm firma isimlerini altalta sıralayacak.
tüm firmalarım sekme adlarını (M1-M2-M3..) sıralayacak
bir yılı kapsayan 12 ayı (Ocak,Şubat...Aralık) ben manuel yazacağım bu kısım (1,2,...12) ye kadar da yapılabilir
her firmanın aylık alacakları toplamını E2:P2 aralığından aşağıya doğru buldurmak

sekme adları bulunacak
firma adları bulunacak
ay ay firmalar için alacaklar kısmı bulunacak (Kısaca Gri renkli yerler)
Not : aylık özet sekmesinde A1 hücresine 2011 yazdım bu tarih önemli bazen 2011 yılı için açılmış iken tablo 2010 yılından fatura piyasa fişi geldiğinden tabloya eklemek zorunda kalıyorum. o bakımdan 2010 ve 2011 yıllarınıda belirtip A1 hücresinde hangi yıl ise ona göre sonuçlanmasını istiyorum.
 

Ekli dosyalar

sayın hocam çözüm çok net teşekkür ederim.
en kısazamanda gerçek piyasa çalışmasına uyarlayacam

sormak istediğim şu hocam
ekleyecem piyasa listesi gerçek tablosunda sayın ömer hocamın bir adet makrolu çözümü vardı
o çizelgemi açtığımda şimdiki dosyadaki Aylık Özet sekmesini taşı/kopyala yapıp o listeye eklesem. peki modülü nasıl yapacam ekleyecem
yardımcı olurmusunuz en basit haliyle
 
Merhaba,
gerçek tablonuz açıkken visual basic editor'ünü açıp, insert menüsünden modül ekleyip, bu dosyadaki kodları yapıştırabilirsiniz. İyi çalışmalar.
 
syn dentex
zipli dosyayı açıp normal sizden gelen dosyayı açtığımda
excel bir formülü hesaplayamıyor.hücre başvuruları formülün sonucuna başvurarak döngüsel başvuru oluşturuyor diye devam eden birşey yazıyo yanlışlıkla döngüzel başvuru oluşturduysanız tamam tıklayın diye birşey yazıyo.....bu bir sorun mu

ayrıca az önce dediklerinizi yaparken karıştırdım
eski piyasa tablosunu açtım visual basic editör araçlardan buldum.
sizin gönderdiğiniz dosyayıda tıkladığım anda sanki içiçe bişeler oldu anlayamadım.
sizin gönderdiğiniz çözümdeki modülü ayrı biryere yazabilirmisiniz ben bildiğim kadarıylka eklemeye çalışayım.
makrolar konusunda acemi düzeydeyim kusuruma bakmazsınız inşallah.
 
Merhaba,
ilk aldığınız hata benim sizin sayfalarınıza test için girdiğim verilerden kaynakladı sanırım. Modül kodlarını aşağıdan kopyalayıp yapıştırmayı deneyin. İyi çalışmalar.
Kod:
Sub getir()
Dim sh As Worksheet
Dim s1 As Worksheet
Set s1 = ThisWorkbook.Worksheets("Aylık Özet")
sn = s1.Range("b65536").End(xlUp).Row + 1
Application.ScreenUpdating = False
s1.Range("b2:o" & sn + 1).ClearContents

yil = s1.Range("a1")
    For Each sh In Worksheets
         If sh.Name = "Aylık Özet" or sh.Name = "Sonuçlar" Then
         Else
         sn = s1.Range("b65536").End(xlUp).Row + 1
         s1.Cells(sn, "b") = sh.Name 'sayfa adı
         s1.Cells(sn, "c") = sh.Range("c1") 'firma adı
         son = sh.Range("b65536").End(xlUp).Row
         If son < 4 Then GoTo gec
         For ay = 1 To 12
                   alck = 0
                    For i = 4 To son
                       If Year(sh.Cells(son, "b")) = yil And Month(sh.Cells(son, "b")) = ay Then
                       alck = alck + sh.Cells(i, "n")
                       s1.Cells(sn, 3 + ay) = alck
                       End If
                    Next i
        Next ay
gec:
         son = 0
         End If
    Next
   Set s1 = Nothing
   Set sh = Nothing
Application.ScreenUpdating = True
End Sub
 
Son düzenleme:
sayın dentex
uyarıyı düzelttim dediklerinizi yaparak
ama diğer dediğim şeyi halledemedim
bir sekmesi makrolu bir sekmesi fonksiyonlu sonuçlanan 150 sekmeli ana piyasa tablosuna
sizin makroyu ekleyemedim hata verdi.


şöyle yapmaya çalıştım.
Sonuçlar - Hesap Özeti - M1-M2-M3-..............M123 e kadar giden toplam 125 sekmelik bir sayfa.
Sonuçlar sekmesi Makrolu bi çözüm
hesap Özeti sekmesi formüllü bir sayfa
M1....M123 ise formatları aynı piyasa firmalarna ait sekmeler

buraya sorduğum soruyu açtım "Aylık Özet" sekmesini taşı kopyala ile toplam 125 sekmelik diğer dosyamıda açıp Aylık Özet sekmesini kopyaladım ama modül henüz deverey girmedi
sonra 126 sekmelik sayfayı açtım forumda son gönderdiğiniz mesajdaki kodu modüle yapıştırdım kapattım ama çalıştır dediğimde hata verdi

acaba "Sonuçlar" ve "Hesap Özeti" sekmeleri M1-M2..M123 gibi formatlarda olmadığından mı hata
verdi

125 sekmelik dosya 25 mb sıkıştırınca 858 kb olduğuından ekleyemedim dosyayı
 
Son düzenleme:
Kusura bakmayın şimdi gördüm. Evet sizin tahmin ettiğiniz nedenden hata verdi. Yukardaki koda "Sonuçlar" sayfası için de ekleme yaptım. Tekrar denerseniz sanırım sorun kalmayacaktır. İyi akşamlar.
 
sayın dentex birde "Hesap Özeti" diye sekme var onun için birşey olmayacak mı
 
"Hesap özeti", örnek dosyanızdaki "Aylık Özet" ise kodlardaki değişikliği siz de uygulayabilirsiniz.
Yazışmaya evden devam edebilirim. Görüşmek üzere...
 
merhaba sayın dentex
ekleyeceğim dosyada kod yazarken sekme adlarından birisi benim çalışma sayfamda yok ben silmişim ama makro çalışıyo
az önce arkadaşımın bilgisayarından piyasa çizelgesini flashdiske aldım ve ekli dosyam açıkken flashdiskide açtım
ekli dosyamdan M1-M2-M3 sekmelerini sildim ve flashdiskten açtığın excel çalışmasından M1...M74 e kadar taşı kopyala yaptım (biçimleri vs herşeyi aynı ) ama makro çalışmadı

2 dosya ekleyecem
1-) makrolu 3 sekmeden ibaret (modülde 1 sekme adı "sonuçlar" fazla) ama sonuca etkimiyo
2-) flashdiskten kopyaladığım 74 sekmeli dosya ama ben kopyaladıktan sonra bendeki (M1-M2-M3 ü silicem dosya boyutu açısından M1...M20 a kadar kısmını ekleyecem)
 

Ekli dosyalar

Sayın modoste,
cevabi mesajınızı şimdi farkettim. Dosyanızı inceledim. Hata; fiş ve fatura tarihleri nedeni ile kaynaklanıyor. Aşağıdaki kodları dosyanıza ekleyip çalıştırabilirsiniz. Kolay gelsin.
Kod:
Sub getir()
Dim sh As Worksheet
Dim s1 As Worksheet
Set s1 = ThisWorkbook.Worksheets("Aylık Özet")
sn = s1.Range("b65536").End(xlUp).Row + 1
Application.ScreenUpdating = False
s1.Range("b2:o" & sn + 1).ClearContents

yil = s1.Range("a1")
    For Each sh In Worksheets
         If sh.Name = "Aylık Özet" Then
         Else
         sn = s1.Range("b65536").End(xlUp).Row + 1
         s1.Cells(sn, "b") = sh.Name 'sayfa adı
         s1.Cells(sn, "c") = sh.Range("c1") 'firma adı
         son = sh.Range("b65536").End(xlUp).Row
         If son < 4 Then GoTo gec
         For ay = 1 To 12
                   alck = 0
                    For i = 4 To son
                       If IsDate(sh.Cells(son, "b")) = False Then
                       f_ay = sh.Cells(son, "d")
                       Else
                       f_ay = sh.Cells(son, "b")
                       End If
                       If Year(f_ay) = yil And Month(f_ay) = ay Then
                       alck = alck + sh.Cells(i, "n")
                       s1.Cells(sn, 3 + ay) = alck
                       End If
                    Next i
        Next ay
gec:
         son = 0
         End If
    Next
   Set s1 = Nothing
   Set sh = Nothing
Application.ScreenUpdating = True
End Sub
 
Geri
Üst