Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > Site ile ilgili... > Forum Kurallarına Uymayan Başlıklar
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Forum Kurallarına Uymayan Başlıklar excel.web.tr forum kurallarına uymayan başlıklar bu bölüme taşınır. Başlığın sahibi 3 gün içerisinde gerekli düzenlemeleri yapmadığı takdirde başlık Moderatörler tarafından silinir.

Özel Arama


Yanıtla
 
Konu Araçları Görünüm Modları
Eski 27-11-2017, 15:18   #1
dragonflyvtr
Altın Üye
 
Giriş: 24/09/2004
Şehir: İstanbul
Mesaj: 69
Excel Vers. ve Dili:
2013
Varsayılan arkadaşlar bir formül'e ihtiyaç duymaktayım.

merhaba arkadaşlar ekteki exel'de sayfa 1 de istemiş olduğum a1 sutununa yazmış olduğum veya yazacak olduğum cari ye ait tüm hareketleri yevmiye kaydın dan tarih sıralamasına göre borç alacak şeklinde getirmesini istiyorum. konu ile alakalı bir formüle ihtiyacım var yardımlarınızı beklemekteyim.
Eklenmiş Dosyalar
Dosya Türü: rar deneme.rar (722.4 KB, 17 Görüntülenme)
dragonflyvtr Çevrimdışı   Alıntı Yaparak Cevapla
Eski 27-11-2017, 15:36   #2
YUSUF44
Destek Ekibi
 
YUSUF44 kullanıcısının avatarı
 
Giriş: 04/01/2006
Şehir: Manisa, Kula
Mesaj: 6,522
Excel Vers. ve Dili:
İş : Ofis 2016 - Türkçe Ev: Ofis 2016 - Türkçe
Varsayılan

Öncelikle konu başlığını sorunuzu özetleyecek şekilde değiştirirseniz iyi olur.

Bu tür işlemleri formülle yapmak kullanışlı olmaz ve verilerin çokluğuna göre de çalışmanızı zorlaştırır. Tavsiyem makro kullanmanızdır.

Aşağıdaki kodları bir modüle kopyalayarak deneyiniz:
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub hesap()
Set s1 = Sheets("Yevmiye Kaydı")
Set s2 = Sheets("Sayfa1")

son = s1.Cells(Rows.Count, "E").End(3).Row

For i = 3 To son
    If s1.Cells(i, "E") = s2.[A1] Then
        yeni = s2.Cells(Rows.Count, "A").End(3).Row + 1
        s2.Cells(yeni, "A") = s1.Cells(i, "B")
        s2.Cells(yeni, "B") = s1.Cells(i, "C")
        s2.Cells(yeni, "C") = s1.Cells(i, "G")
        s2.Cells(yeni, "D") = s1.Cells(i, "H")
        s2.Cells(yeni, "E").FormulaR1C1 = "=IF(RC[-2]>RC[-1],RC[-2]-RC[-1],0)"
        s2.Cells(yeni, "F").FormulaR1C1 = "=IF(RC[-2]>RC[-3],RC[-2]-RC[-3],0)"
        s2.Cells(yeni, "E").NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
        s2.Cells(yeni, "F").NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
    End If
Next
End Sub
__________________


Sorularınızı örnek dosyayla desteklemeniz çözüme ulaşmanızı kolaylaştırır.

Altın Üye olmanızı öneririm. Altın Üye değilseniz dosyanızı dosya yükleme sitelerinden birine yükleyip linkini paylaşabilirsiniz.
YUSUF44 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 27-11-2017, 15:43   #3
dragonflyvtr
Altın Üye
 
Giriş: 24/09/2004
Şehir: İstanbul
Mesaj: 69
Excel Vers. ve Dili:
2013
Varsayılan

Kod da hata var üstad 320.01 yazıyorum 100.01 ile alakalı olan kayıtları da getiriyor bir sıkıntı var kodda sanırım.

Bu mesaj en son " 27-11-2017 " tarihinde saat 15:52 itibariyle dragonflyvtr tarafından düzenlenmiştir....
dragonflyvtr Çevrimdışı   Alıntı Yaparak Cevapla
Eski 27-11-2017, 16:06   #4
YUSUF44
Destek Ekibi
 
YUSUF44 kullanıcısının avatarı
 
Giriş: 04/01/2006
Şehir: Manisa, Kula
Mesaj: 6,522
Excel Vers. ve Dili:
İş : Ofis 2016 - Türkçe Ev: Ofis 2016 - Türkçe
Varsayılan

Kodda bir sıkıntı yok. Ben denediğimde 198 tane 320.01 kodlu satırı getirdi. Yevmiye sayfasında süzme yaptığımda da 198 adet veri olduğu görülüyor.

Dosyayı o haliyle yükleyin inceleyelim.
__________________


Sorularınızı örnek dosyayla desteklemeniz çözüme ulaşmanızı kolaylaştırır.

Altın Üye olmanızı öneririm. Altın Üye değilseniz dosyanızı dosya yükleme sitelerinden birine yükleyip linkini paylaşabilirsiniz.
YUSUF44 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 27-11-2017, 16:53   #5
Ömer BARAN
Uzman
 
Giriş: 08/03/2011
Şehir: ANKARA / İSTANBUL
Mesaj: 9,486
Excel Vers. ve Dili:
Office 2013 TÜRKÇE
Varsayılan

Merhabalar.

Anlaşılmayan iki husus var:
-- YUSUF Bey'in kodlarının sorunsuz sonuç üretmesi gerekir.
-- C ve D sütununda aynı anda veri olmayacağına göre E ve F sütununda mevcut formüllerin sonucu
C ve D sütununun aynısı olacaktır. Bu nedenle E ve F sütunları için işlem öngörmedim.
-- E ve F sütunu için yapılmak istenilenin tam olarak açıklanırsa kod'a ilave yapılabilir elbette.

Ben de, FOR...NEXT döngüsü yerine FİLTRE yöntemiyle çalışan alternatif kod önerisinde bulunayım (zira veri yığını büyük olabilir).
-- Alt taraftan Sayfa1'in adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi zeçin,
-- Açılan VBA ekranında sağdaki boş alana aşağıdaki kod'u yapıştırın.
-- Sayfa1 A1 hücresine hesap kodu yazıldığında kod otomatik olarak çalışarak sonuç üretecektir.
.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1]) Is Nothing Then Exit Sub
Call KEBIR
Target.Activate
End Sub

Sub KEBIR()
Set y = Sheets("Yevmiye Kaydı"): Set s = Sheets("Sayfa1")
Application.ScreenUpdating = False: Application.Calculation = xlCalculationManual
If s.Cells(Rows.Count, 1).End(3).Row > 2 Then s.Range("A3:F" & Rows.Count).ClearContents
yson = y.Cells(Rows.Count, 2).End(3).Row
    y.Cells.AutoFilter
y.Range("A2:H" & yson).AutoFilter Field:=5, Criteria1:=s.[A1] & ""
If y.Cells(Rows.Count, 2).End(3).Row = 2 Then Exit Sub
y.Range("B3:C" & y.Cells(Rows.Count, 2).End(3).Row).SpecialCells(xlCellTypeVisible).Copy
    s.[A3].PasteSpecial Paste:=xlPasteValues
y.Range("G3:H" & y.Cells(Rows.Count, 2).End(3).Row).SpecialCells(xlCellTypeVisible).Copy
    s.[C3].PasteSpecial Paste:=xlPasteValues
s.Range("A3:A" & s.Cells(Rows.Count, 1).End(3).Row).NumberFormat = "dd.mm.yyyy"
y.Range("A2:H" & yson).AutoFilter Field:=5
Application.ScreenUpdating = True: Application.Calculation = xlCalculationAutomatic
End Sub
__________________
.
☾✭ İnadına TÜRKÇE ✭☽

-- Sorunuzu, gerçek belgenizle aynı yapıda ve olması gereken sonuçların elle yazıldığı örnek belge ile destekleyiniz.
-- ALTIN ÜYELİK öneriyorum. / FORUM KURALLARInı mutlaka okuyunuz.
-- ALTIN ÜYE olmayanlar, örnek belgeyi dosya.tc, dosya.co gibi bir siteye yükleyip, belgeye erişim adresini verebilir.
-- Özel mesaj ile soru sormayınız. / Geri bildirimde bulunulmayan cevaplarımı siliyorum.
Ömer BARAN Çevrimdışı   Alıntı Yaparak Cevapla
Eski 27-11-2017, 18:23   #6
YUSUF44
Destek Ekibi
 
YUSUF44 kullanıcısının avatarı
 
Giriş: 04/01/2006
Şehir: Manisa, Kula
Mesaj: 6,522
Excel Vers. ve Dili:
İş : Ofis 2016 - Türkçe Ev: Ofis 2016 - Türkçe
Varsayılan

Ömer Bey'in kodlarını görünce aklıma geldi. Benim kodlarda eski verilerin silinmesi yok. Eğer yeni kod sorguladığınızda önceki kodun verileri silinsin istiyorsanız benim koddaki "son" ile başlayan satırdan sonra aşağıdaki satırı ilave ediniz:

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
s2.Range("A3:F" & Rows.Count).Clearcontents
__________________


Sorularınızı örnek dosyayla desteklemeniz çözüme ulaşmanızı kolaylaştırır.

Altın Üye olmanızı öneririm. Altın Üye değilseniz dosyanızı dosya yükleme sitelerinden birine yükleyip linkini paylaşabilirsiniz.
YUSUF44 Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 04:44


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım -- Beylikdüzü mali müşavir - Lingerie - Dyeing Machine - Karton Bardak- Karton Bardak- Çorlu Dil ve Konuşma Terapisti- Çorlu Dil ve Konuşma Terapisti- Çorlu Özel Eğitim- Site Yönetimi- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Çorlu- Çorlu Araç Takip- Çorlu Su Arıtma- Gebze Emlak- Rampa- Rotary- Çorlu İnternet Sitesi- Çorlu Sürücü Kursu- Çorlu Sürücü Kursu- Şişli Avukat- Edirne Serbest Muhasebeci- Çorlu Etüt- İstanbul Botanik- Çorlu Sigorta- Kağıt Bardak- Kaplan Tekstil- Çorlu Perde- Çorlu Havuz- Makina- Danışmazlar-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden