• Bir süredir maillerde yaşanan sorunlar giderilmiştir. Şifremi unuttum yaparak şifrelerinizi mailinizden alabilirsiniz.

  • Foruma hoş geldin 👋 Ziyaretçi

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Çözüldü karşı hesap kodu

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

batuhandl

Yeni Üye
Kullanıcı Bilgileri
Aktiflik
Çevrimdışı
Katılım
2 Haz 2024
Mesajlar
21
Aldığı beğeni
3
Excel V
Office 2021 TR
Konuyu Başlatan
Merhabalar,

Aşağıda yer alan veride 'karşı hesap' sütununu nasıl formüle edebilirim ? Amaç aynı ''yevmiye numarasına'' sirayet eden ''kebir'' numarasını yazmak. Birden fazla olması da önemli (son satırdaki gibi).
kebirtarihy. NoaçıkalamaborçalacakKarşı Hesap
100​
2.06.2024​
1001​
10.000,00​
0,00​
500​
500​
2.06.2024​
1001​
0,00​
10.000,00​
100​
153​
3.06.2024​
1002​
3.000,00​
0,00​
100​
100​
3.06.2024​
1002​
0,00​
3.000,00​
153​
102​
4.06.2024​
1003​
4.000,00​
0,00​
100​
100​
4.06.2024​
1003​
0,00​
4.000,00​
102​
102​
5.06.2024​
1004​
2.000,00​
0,00​
600​
600​
5.06.2024​
1004​
0,00​
2.000,00​
102​
193​
5.06.2024​
1004​
400,00​
0,00​
600,102​
 
Çözüm
Evet istediğim tam olarak bu ama makro kodlarına nasıl ulaşacağımı ve başka çalışma sayfasına nasıl uygulayacağımı yapamadım :(
Bu VBA kodunu Excel'in bir çalışma sayfasına eklemen gerekiyor. İşte adım adım nasıl yapabileceğin:

  1. Excel dosyanda, çalışma sayfası üzerinde değişiklik yapmak istediğin zaman bu kodların çalışmasını istiyorsan, kodları o çalışma sayfasının VBA modülüne eklemelisin. Bunun için aşağıdaki adımları izleyebilirsin:
    • Excel dosyanda, klavyeden Alt + F11 tuşlarına basarak Visual Basic for Applications (VBA) penceresini aç.
    • Sol tarafta "Project - VBAProject" altında, çalışma sayfasının adını içeren bir düğme göreceksin (örneğin "Sayfa1(Sayfa1)" gibi. Bu düğmeyi çift tıkla, ardından açılan...
1025.06.202410042.000,000,00600
6005.06.202410040,002.000,00102
1935.06.20241004400,000,00600,102

1-) 1004 numaralı yevmiye kaydında Borç - Alacak eşitliği yok. Bu kaydın doğru olduğuna emin miyiz?
2-) Yine aynı numaralı yevmiye kaydında 102 nin karşlığı 600 yazdık orada problem yok fakat 600'ün karşılığının sadece 102 olup 193 olmadığını nasıl tespit edeceğiz? (Ya da siz örnek yazarken hata mı yaptınız?)

Ayrıca makro kullanıp kullanamayacağıma cevap vermediniz.
2. soru için örnekte ben hata yapmışım. revize örnek hali ektedir.
1. Borç alacak eşitliğinin önemi yok örnek için oluşturdum.

Makro olamaması daha iyi.
 

Ekli dosyalar

  • çalışma.xlsx
    12.3 KB · Gösterim: 4
2. soru için örnekte ben hata yapmışım. revize örnek hali ektedir.
1. Borç alacak eşitliğinin önemi yok örnek için oluşturdum.

Makro olamaması daha iyi.

Formül benim uzmanlık alanım değil, fakat kullanıcı tanımlı fonksiyon kullanabiliyorsanız bunun için fonksiyon yazabiliriz.
 
Eğer KTF kullanmak isterseniz aşağıdaki formül işinize yarar.

Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.

Ayrıca her çalışma kitabından erişebileceğiniz KTF eklemeyi bilmiyorsanız bir örneğine bakabilirsiniz.
 

Ekli dosyalar

  • çalışma (1).xlsm
    19.8 KB · Gösterim: 1
Belki de beklenen çözüm böyle bir şey...
Excel2021 kullanıcısı olduğunuzdan, Excel2021 işlevleri kullanılarak
Alternatif olarak
Formülle bir çözüm örneği olsun...

Çözüm resimdeki gibi...

1717423331572.png

Formülü H2 hücresine yazın ve aşağıya doğru kopyalayın...
Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.

Formülde, a parametresi $A$2:$A$10000 ve c parametresi $C$2:$C$10000 aralıklarını belirtir. Bu aralıkları orijinal dosyanıza göre uyarlarsınız. Kural ise her iki alandaki satır adetlerinin eşit miktarda olması...
 

Ekli dosyalar

  • çalışma_1.xlsx
    14.3 KB · Gösterim: 4
Çalışma için teşekkürler, excel 2019 için yapma imkanınz var mı
 
Belki de beklenen çözüm böyle bir şey...
Excel2021 kullanıcısı olduğunuzdan, Excel2021 işlevleri kullanılarak
Alternatif olarak
Formülle bir çözüm örneği olsun...

Çözüm resimdeki gibi...

Ekli dosyayı görüntüle 26158

Formülü H2 hücresine yazın ve aşağıya doğru kopyalayın...
Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.

Formülde, a parametresi $A$2:$A$10000 ve c parametresi $C$2:$C$10000 aralıklarını belirtir. Bu aralıkları orijinal dosyanıza göre uyarlarsınız. Kural ise her iki alandaki satır adetlerinin eşit miktarda olması...
hocam sanırsam 2016 benim excel ondan let formülü çalışmıyor galiba
 
İstediğiniz durum resimde ki gibi ise dosyadaki formül ve makro bu işlemi yapıyor
 

Ekli dosyalar

  • KEBİR.png
    KEBİR.png
    63.2 KB · Gösterim: 11
  • DÜZENLENDİ-KEBİRçalışma.xlsm
    22.9 KB · Gösterim: 9
2019 versiyonunda çalışır mı bilmem ama alternatif olarak aşağıdaki formülü de deneyebilirsiniz.

Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
İstediğiniz durum resimde ki gibi ise dosyadaki formül ve makro bu işlemi yapıyor
Evet istediğim tam olarak bu ama makro kodlarına nasıl ulaşacağımı ve başka çalışma sayfasına nasıl uygulayacağımı yapamadım :(
 
Evet istediğim tam olarak bu ama makro kodlarına nasıl ulaşacağımı ve başka çalışma sayfasına nasıl uygulayacağımı yapamadım :(
Bu VBA kodunu Excel'in bir çalışma sayfasına eklemen gerekiyor. İşte adım adım nasıl yapabileceğin:

  1. Excel dosyanda, çalışma sayfası üzerinde değişiklik yapmak istediğin zaman bu kodların çalışmasını istiyorsan, kodları o çalışma sayfasının VBA modülüne eklemelisin. Bunun için aşağıdaki adımları izleyebilirsin:
    • Excel dosyanda, klavyeden Alt + F11 tuşlarına basarak Visual Basic for Applications (VBA) penceresini aç.
    • Sol tarafta "Project - VBAProject" altında, çalışma sayfasının adını içeren bir düğme göreceksin (örneğin "Sayfa1(Sayfa1)" gibi. Bu düğmeyi çift tıkla, ardından açılan pencerede VBA kodlarını yazabileceğin çalışma sayfasının modülü açılacaktır.
  2. Bu modülde, açılan pencerede sol üstten "Insert" menüsünü seç ve ardından "Module" seçeneğine tıkla. Bu, yeni bir VBA modülü oluşturmanı sağlar.
  3. Yeni oluşturduğun modülün içine, verdiğin VBA kodunu yapıştır. Kodun, Private Sub Worksheet_Change(ByVal Target As Range) ve Sub KarsiHesap() olmak üzere iki bölümden oluşuyor, bu bölümleri değişiklik yapmak istediğin (Örnek dosyada MAKROYLA yazan sayfa) çalışma sayfasının VBA modülüne yapıştır.
  4. Kodun çalışabilmesi için, kodun içinde bulunan "MAKROYLA" kelimesini, kullanmak istediğin çalışma sayfasının adıyla değiştirmelisin. Örneğin, eğer kodunun çalışma sayfasının adı "Sayfa1" ise, Set ws = ThisWorkbook.Sheets("MAKROYLA") satırını Set ws = ThisWorkbook.Sheets("Sayfa1") olarak değiştirmelisin.
  5. Kodları ekledikten sonra, VBA penceresini kapatıp Excel'e dön. Artık çalışma sayfasındaki "G1" hücresinde bir değer değiştiğinde KarsiHesap adlı alt programın çağrılacak.
Bu adımları takip ederek, verdiğin VBA kodunu Excel dosyanda belirttiğin çalışma sayfasında kullanabilirsin. Eğer başka bir çalışma sayfasında kullanmak istersen, o çalışma sayfasının adını ve hedef hücreyi (Me.Range("G1") içindeki "G1" hücresi) değiştirmelisin.


Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
Çözüm
Bu VBA kodunu Excel'in bir çalışma sayfasına eklemen gerekiyor. İşte adım adım nasıl yapabileceğin:

  1. Excel dosyanda, çalışma sayfası üzerinde değişiklik yapmak istediğin zaman bu kodların çalışmasını istiyorsan, kodları o çalışma sayfasının VBA modülüne eklemelisin. Bunun için aşağıdaki adımları izleyebilirsin:
    • Excel dosyanda, klavyeden Alt + F11 tuşlarına basarak Visual Basic for Applications (VBA) penceresini aç.
    • Sol tarafta "Project - VBAProject" altında, çalışma sayfasının adını içeren bir düğme göreceksin (örneğin "Sayfa1(Sayfa1)" gibi. Bu düğmeyi çift tıkla, ardından açılan pencerede VBA kodlarını yazabileceğin çalışma sayfasının modülü açılacaktır.
  2. Bu modülde, açılan pencerede sol üstten "Insert" menüsünü seç ve ardından "Module" seçeneğine tıkla. Bu, yeni bir VBA modülü oluşturmanı sağlar.
  3. Yeni oluşturduğun modülün içine, verdiğin VBA kodunu yapıştır. Kodun, Private Sub Worksheet_Change(ByVal Target As Range) ve Sub KarsiHesap() olmak üzere iki bölümden oluşuyor, bu bölümleri değişiklik yapmak istediğin (Örnek dosyada MAKROYLA yazan sayfa) çalışma sayfasının VBA modülüne yapıştır.
  4. Kodun çalışabilmesi için, kodun içinde bulunan "MAKROYLA" kelimesini, kullanmak istediğin çalışma sayfasının adıyla değiştirmelisin. Örneğin, eğer kodunun çalışma sayfasının adı "Sayfa1" ise, Set ws = ThisWorkbook.Sheets("MAKROYLA") satırını Set ws = ThisWorkbook.Sheets("Sayfa1") olarak değiştirmelisin.
  5. Kodları ekledikten sonra, VBA penceresini kapatıp Excel'e dön. Artık çalışma sayfasındaki "G1" hücresinde bir değer değiştiğinde KarsiHesap adlı alt programın çağrılacak.
Bu adımları takip ederek, verdiğin VBA kodunu Excel dosyanda belirttiğin çalışma sayfasında kullanabilirsin. Eğer başka bir çalışma sayfasında kullanmak istersen, o çalışma sayfasının adını ve hedef hücreyi (Me.Range("G1") içindeki "G1" hücresi) değiştirmelisin.


Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
çok teşekkür ederim
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst