M

Çözüldü Hücre Aktarma Sorunu

  • Konuyu başlatan Konuyu başlatan mcexrem
  • Başlangıç tarihi Başlangıç tarihi
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

mcexrem

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhabalar Üstadlar

KASA DEFTERİ sayfasında "BuGünüYazdır" butonu ile içinde bulunduğum günün çıktısını aldırırken F1 hücresindeki veriyi D3 hücresine aktarıyor ve ertesi güne hazır hale geliyor ancak aynı gün içinde yeni veri girince tekrar çıktı almak istediğimde F1'i D3'e aktardığı için F1 deki sonuç yanlış çıkıyor. Bu aksaklığı nasıl giderebilirim. Yardımlarınız için teşekkür eder saygılar sunarım.
 

Ekli dosyalar

Merhabalar Sn. mc_exrem;
Foruma hoş geldiniz. :)

Kasa Defteri isimli sayfanın kod bölümünde yer alan Worksheet_Change kodlarına aşağıdaki satırları ekleyiniz.

-- End Sub satırından önce eklenecek kodlar.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(7 satır)
-- Bu kod satırı, E sütununa değer girdiğiniz zaman; D1 ile E1 hücresini karşılaştırır.
-- Eğer D1 hücresindeki değer E1 hücresindeki değerden küçük olacaksa, E sütununa değer girilmesine izin vermez.

Bu şekilde Gün Sonundaki değerin eksiye düşmesini engelleyebilirsiniz.
 
Merhaba Sayın @mc_exrem . Foruma hoşgeldiniz.

Ben de fikrimi belirteyim dedim.

-- TARİH olmayan veriler: Öncelikle, belgede F sütununda yer alan ve TARİH GİBİ GÖRÜNEN TÜM VERİLERin tarih OLMADIĞINI,
bir kısmının METİN olduğunu hatırlatayım. F sütunundaki 21 veri dışındaki tüm veriler TARİH DEĞİL METİN.
Bu durumu F sütununa FİLTRE uyguladığınızda YILlar itibariyle gruplanmayan verilerden anlayabilirsiniz.
Bunu düzeltmek için boş-ugun bir hücreye 1 yazın ve bu hücreyi kopyalayın,
ardından da F sütunundaki dolu hücrelerin tümünü seçip >> ÖZEL YAPIŞTIR >> DEĞERLERİ >> ÇARP >> TAMAM şeklinde işlem yapın.
Yoksa bu tarihlere göre yapacağınız hesaplamalarda oluşacak muhtemel hatalı sonuçları fark edemeyebilirsiniz.

-- KIRMIZI BAKİYE sorunu: Belgenizdeki verilere göre KASAda OLMAYAN PARALARın ÇIKIŞI yapılmıştır.

Uygun bir alana 05.08.2019'dan bugünkü tarihe kadar bir tarih listesi oluşturup, bu tarihlere göre veri alanındaki giriş ve çıkışlar
için yanındaki hücrelere ETOPLA formülü yazıp tarih listesinin yanına sonuçları yazdırın.
Sonra da bir sonraki sütunda, bir önceki günden devreden + ilgili gün giriş toplamı - ilgili gün çıkış toplamı
formülünü uygulayarak liste boyunca kopyalayın.

Göreceğiniz şu olacak; ilk günden başlayarak hemen hemen tüm günler için olmayan para kasadan çıkmıştır. Böyle bir şey mümkün değildir.

Hesaplamalarım beni yanıltmıyorsa; belgeyi kullanmaya başladığınız İLK GÜN için ÖNCEKİ GÜNDEN DEVREDEN
nakit tutarı olarak en azından 7.565,00 TL GİRİŞ kaydı yapılmalıdır ki böylece, yukarıda değindiğim KIRMIZI BAKİYEler oluşmasın.
Buna göre de 05.02.2020'den 06.02.2020 gününe devreden mevcut nakitin de belgenizdeki gibi 2.930,00 TL değil en azından 2.950,00 TL olması gerekir.

-- Başlangıç mevcudu neden genel toplama göre bulunan ve 2.930,00 TL'lik bugüne devreden tutarı sağlayan 7.545,00 TL değil de 7.565,00 TL olmalıdır?
Bunun cevabı da 7.545,00 giriş yapsanız da 04.09.2019 ve 09.09.2019 tarihlerinde oluşacak -15,00 ve -20,00 TL KIRMIZI BAKİYEler.

Sonuç olarak; bu nedenlerle başlangıçta KASAda en azından 7.565,00 TL olmalıdır.

Bence öncelikle yukarıdaki açıklamalara göre örnek belgenizde düzenleme yapıp, örnek belgenizi yenileyin ve
onun üzerinden diğer sorun/ihtiyaçlarla ilgili konulara bakılsın.

Biraz uzun mesaj yazdım ama konunun netleşmesi bakımından gerekliydi.

.
 
Merhaba Sayın @mc_exrem . Foruma hoşgeldiniz.

Ben de fikrimi belirteyim dedim.

-- TARİH olmayan veriler: Öncelikle, belgede F sütununda yer alan ve TARİH GİBİ GÖRÜNEN TÜM VERİLERin tarih OLMADIĞINI,
bir kısmının METİN olduğunu hatırlatayım. F sütunundaki 21 veri dışındaki tüm veriler TARİH DEĞİL METİN.
Bu durumu F sütununa FİLTRE uyguladığınızda YILlar itibariyle gruplanmayan verilerden anlayabilirsiniz.
Bunu düzeltmek için boş-ugun bir hücreye 1 yazın ve bu hücreyi kopyalayın,
ardından da F sütunundaki dolu hücrelerin tümünü seçip >> ÖZEL YAPIŞTIR >> DEĞERLERİ >> ÇARP >> TAMAM şeklinde işlem yapın.
Yoksa bu tarihlere göre yapacağınız hesaplamalarda oluşacak muhtemel hatalı sonuçları fark edemeyebilirsiniz.

-- KIRMIZI BAKİYE sorunu: Belgenizdeki verilere göre KASAda OLMAYAN PARALARın ÇIKIŞI yapılmıştır.

Uygun bir alana 05.08.2019'dan bugünkü tarihe kadar bir tarih listesi oluşturup, bu tarihlere göre veri alanındaki giriş ve çıkışlar
için yanındaki hücrelere ETOPLA formülü yazıp tarih listesinin yanına sonuçları yazdırın.
Sonra da bir sonraki sütunda, bir önceki günden devreden + ilgili gün giriş toplamı - ilgili gün çıkış toplamı
formülünü uygulayarak liste boyunca kopyalayın.

Göreceğiniz şu olacak; ilk günden başlayarak hemen hemen tüm günler için olmayan para kasadan çıkmıştır. Böyle bir şey mümkün değildir.

Hesaplamalarım beni yanıltmıyorsa; belgeyi kullanmaya başladığınız İLK GÜN için ÖNCEKİ GÜNDEN DEVREDEN
nakit tutarı olarak en azından 7.565,00 TL GİRİŞ kaydı yapılmalıdır ki böylece, yukarıda değindiğim KIRMIZI BAKİYEler oluşmasın.
Buna göre de 05.02.2020'den 06.02.2020 gününe devreden mevcut nakitin de belgenizdeki gibi 2.930,00 TL değil en azından 2.950,00 TL olması gerekir.

-- Başlangıç mevcudu neden genel toplama göre bulunan ve 2.930,00 TL'lik bugüne devreden tutarı sağlayan 7.545,00 TL değil de 7.565,00 TL olmalıdır?
Bunun cevabı da 7.545,00 giriş yapsanız da 04.09.2019 ve 09.09.2019 tarihlerinde oluşacak -15,00 ve -20,00 TL KIRMIZI BAKİYEler.

Sonuç olarak; bu nedenlerle başlangıçta KASAda en azından 7.565,00 TL olmalıdır.

Bence öncelikle yukarıdaki açıklamalara göre örnek belgenizde düzenleme yapıp, örnek belgenizi yenileyin ve
onun üzerinden diğer sorun/ihtiyaçlarla ilgili konulara bakılsın.

Biraz uzun mesaj yazdım ama konunun netleşmesi bakımından gerekliydi.

.
her şeyi en ince ayrıntısına kadar detaylandırmışsınız çok teşekkür ederim
Merhabalar Sn. mc_exrem;
Foruma hoş geldiniz. :)

Kasa Defteri isimli sayfanın kod bölümünde yer alan Worksheet_Change kodlarına aşağıdaki satırları ekleyiniz.

-- End Sub satırından önce eklenecek kodlar.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(7 satır)
-- Bu kod satırı, E sütununa değer girdiğiniz zaman; D1 ile E1 hücresini karşılaştırır.
-- Eğer D1 hücresindeki değer E1 hücresindeki değerden küçük olacaksa, E sütununa değer girilmesine izin vermez.

Bu şekilde Gün Sonundaki değerin eksiye düşmesini engelleyebilirsiniz.
kod kısmıyla açıklma kısmı karışmış galiba? ayırabilir misiniz
 
Sayın @mc_exrem .

Sorununuz çözülmüş oldu mu olmadı mı?
Bunu net ifade ederseniz, konuyu ÇÖZÜLDÜ olarak işaretleyelim.

Yok, konu çözülmüş değilse;
belgenizin, önceki cevabımda belirttiğim sorunların giderildiği yeni halini ekleyerek
YAZDIRMA konusuyla ilgili isteğinizi iletin ki konuya bakılabilsin.

.
 
Merhabalar Sn. mc_exrem
kod kısmıyla açıklma kısmı karışmış galiba?
Neresi karışmış 🤔 anlamadım.

Kodları eklerken sorun olduysa şu adımları takip ediniz.
-- KASA DEFTERİ isimli sayfayı açınız.
-- Alt + F11 tuşlarına basınız.
-- Açılan sayfada Private Sub Worksheet_Change (ByVal Target As Range) ile başlayan End Sub ile biten kod bloğunu aşağıdaki kodlar ile değiştiriniz.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(13 satır)
 
Merhabalar Sn. mc_exrem

Neresi karışmış 🤔 anlamadım.

Kodları eklerken sorun olduysa şu adımları takip ediniz.
-- KASA DEFTERİ isimli sayfayı açınız.
-- Alt + F11 tuşlarına basınız.
-- Açılan sayfada Private Sub Worksheet_Change (ByVal Target As Range) ile başlayan End Sub ile biten kod bloğunu aşağıdaki kodlar ile değiştiriniz.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(13 satır)
kod çalışmıyor yada devre dışı bırakılmış uyarısı veriyor.
 
Sayın @mc_exrem .

Sorununuz çözülmüş oldu mu olmadı mı?
Bunu net ifade ederseniz, konuyu ÇÖZÜLDÜ olarak işaretleyelim.

Yok, konu çözülmüş değilse;
belgenizin, önceki cevabımda belirttiğim sorunların giderildiği yeni halini ekleyerek
YAZDIRMA konusuyla ilgili isteğinizi iletin ki konuya bakılabilsin.

.
çözülmedi henüz malesef.
 

Ekli dosyalar

Merhabalar Sn. mc_exrem

Neresi karışmış 🤔 anlamadım.

Kodları eklerken sorun olduysa şu adımları takip ediniz.
-- KASA DEFTERİ isimli sayfayı açınız.
-- Alt + F11 tuşlarına basınız.
-- Açılan sayfada Private Sub Worksheet_Change (ByVal Target As Range) ile başlayan End Sub ile biten kod bloğunu aşağıdaki kodlar ile değiştiriniz.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(13 satır)
Yukarıdaki adım uygulanmıştır. Ekli dosyayı inceleyiniz.
 

Ekli dosyalar

Anladığım kadarıyla bir önceki günün devir kısmının sabit kalmasını istiyorsunuz. Bu nedenle ya bu değeri bir yerde saklamalısınız yada gün sonu gelmeden (23:59) değişiklik yapılmaması gerekmektedir. XFD sütununda tarih ve devir bilgisi saklancak şekilde dosya hazırlanmıştır.

Ekli dosyayı inceleyiniz.
 

Ekli dosyalar

Merhaba Sayın @mc_exrem .

9 numaralı cevaba eklediğiniz örnek belgeye baktığımda;
3 numaralı cevabımdaki hususlara yönelik belgede herhangi bir değişiklik göremiyorum.
Kırmızı bakiye durumu aynı şekilde duruyor, tarih sütununda yine METİN olan tarih gibi görünen veriler var.

-- Öncelikle TARİH sütununa, mevcut kod üzerinden yazdırılan tarihlerin, tarih gibi görünen METİN değil
gerçekten tarih olarak yazılmasını sağlamak için; alt taraftan KASA DEFTERİ sayfasının adına fareyle sağ tıklayıp
KOD GÖRÜNTÜLEyi seçtiğinizde karşınıza gelecek VBA ekranında sağ tarafta yer alan aşağıdaki kod'da,
kırmızı renklendirdiğim kısımlarını silin. Yani ilgili satırda sadece .... = Now kısmı kalsın.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(5 satır)
.
-- VBA ekranında MODULE16 içerisinde bulunan EŞİTLE isimli makroda,
aşağıda kırmızı renklendirdiğim kısımları silip yeşil olanları ekleyin.
Böylece YAZDIR düğmesine tıkladığınızda, belgenin alt satırlarında bugüne ait kayıt varsa,
(yani gün içerisinde iseniz) F1'den D3'e aktarma gerçekleşmez, ertesi gün veya gece yarısından sonra
YAZDIR düğmesine tıkladığınzda, alt kısımdaki satırlarda F3'teki yani günün tarihi hiç olmayacağından F1'den D3'e aktarma gerçekleşir.

Sanıyorum istediğiniz bu.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(9 satır)

.
 
Merhaba Sayın @mc_exrem .

9 numaralı cevaba eklediğiniz örnek belgeye baktığımda;
3 numaralı cevabımdaki hususlara yönelik belgede herhangi bir değişiklik göremiyorum.
Kırmızı bakiye durumu aynı şekilde duruyor, tarih sütununda yine METİN olan tarih gibi görünen veriler var.

-- Öncelikle TARİH sütununa, mevcut kod üzerinden yazdırılan tarihlerin, tarih gibi görünen METİN değil
gerçekten tarih olarak yazılmasını sağlamak için; alt taraftan KASA DEFTERİ sayfasının adına fareyle sağ tıklayıp
KOD GÖRÜNTÜLEyi seçtiğinizde karşınıza gelecek VBA ekranında sağ tarafta yer alan aşağıdaki kod'da,
kırmızı renklendirdiğim kısımlarını silin. Yani ilgili satırda sadece .... = Now kısmı kalsın.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(5 satır)
.
-- VBA ekranında MODULE16 içerisinde bulunan EŞİTLE isimli makroda,
aşağıda kırmızı renklendirdiğim kısımları silip yeşil olanları ekleyin.
Böylece YAZDIR düğmesine tıkladığınızda, belgenin alt satırlarında bugüne ait kayıt varsa,
(yani gün içerisinde iseniz) F1'den D3'e aktarma gerçekleşmez, ertesi gün veya gece yarısından sonra
YAZDIR düğmesine tıkladığınzda, alt kısımdaki satırlarda F3'teki yani günün tarihi hiç olmayacağından F1'den D3'e aktarma gerçekleşir.

Sanıyorum istediğiniz bu.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(9 satır)

.
tarih kodunu ve bu kodu ekledimancak bu hatayı verdi
1581405719825.webp
 
Moderatörün son düzenlenenleri:
Haklısınız.

-- D1 ve E1 hücrelerindeki formüller:
Hücreye sadece tarih değil. tarih-saat bilgisi yazdırılmasıyla ilgili bir durum.
Bu nedenle;
D1'deki formülü =ETOPLA(F3:F65535 ; ">=" & BUGÜN() ; D3 : D65535)
E1'
deki formülü =ETOPLA(F3:F65535 ; ">=" & BUGÜN() ; E3 : E65535)
olarak değiştirin.

-- SuzYaz isimli makro kodları:
MODUL16'daki makronun yeşil renklendirdiğim satırını düzeltin.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(4 satır)


-- EŞİTLE isimli makro kodları:
MODULE14'teki makroyu aşağıdakiyle değiştirin.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(8 satır)
 
Haklısınız.

-- D1 ve E1 hücrelerindeki formüller:
Hücreye sadece tarih değil. tarih-saat bilgisi yazdırılmasıyla ilgili bir durum.
Bu nedenle;
D1'deki formülü =ETOPLA(F3:F65535 ; ">=" & BUGÜN() ; D3 : D65535)
E1'
deki formülü =ETOPLA(F3:F65535 ; ">=" & BUGÜN() ; E3 : E65535)
olarak değiştirin.

-- SuzYaz isimli makro kodları:
MODUL16'daki makronun yeşil renklendirdiğim satırını düzeltin.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(4 satır)


-- EŞİTLE isimli makro kodları:
MODULE14'teki makroyu aşağıdakiyle değiştirin.
VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(8 satır)
bu çalışma sayfasında KASA DEFTERİNE AYHAN AVANS yazınca AVANSLAR sekmesine değeri otomatik atıyordu. Bu şekilde oraya da atmıyor.
 
Şu an bilgisayar başında değilim.

Yeni soru/sorun/ihtiyaçla ilgili duruma da bakılır elbette ama öncelikle,
konuyu açma sebebiniz olan kasa defterini gün içerisinde birden fazla kez yazdırma halinde
devreden tutarın başka hücreye aktarılması/aktarılmaması hususuyla ilgili kısmın
çözülüp çözülmediğini net ifade ederseniz iyi olur.

.
 
Şu an bilgisayar başında değilim.

Yeni soru/sorun/ihtiyaçla ilgili duruma da bakılır elbette ama öncelikle,
konuyu açma sebebiniz olan kasa defterini gün içerisinde birden fazla kez yazdırma halinde
devreden tutarın başka hücreye aktarılması/aktarılmaması hususuyla ilgili kısmın
çözülüp çözülmediğini net ifade ederseniz iyi olur.

.
ilginiz için teşekkürler
D1'deki formülü =ETOPLA(F3:F65535 ; ">=" & BUGÜN() ; D3 : D65535)
E1'
deki formülü =ETOPLA(F3:F65535 ; ">=" & BUGÜN() ; E3 : E65535)
olarak değiştirdim ancak verileri yine toplamıyor
1581489836455.webp
 
Moderatörün son düzenlenenleri:
Salın @mc_exrem .

Önünüzde 2 seçenek var;
-- Kod'daki .... = Now kısmını .... = Int(Now) olarak değiştirip
1'inci satırlardaki formülleri =ETOPLA($F$3:$F$65536;BUGÜN() ; D3 : D65536) olarak değiştirmek,
-- Kod'daki .... = Now kısmı bu şekilde duracaksa formülü =ETOPLA($F$3:$F$65536;">="&BUGÜN();D3 : D65536) şeklinde kullanmak.

Her iki seçenek için de olmazsa olmaz koşul,
F sütununda yer alan ve tarih gibi görünse de tarih değil METİN olan verilerin tarihe dönüştürülmesi.
Bu konudaki açıklamayı da daha evvelki 3 numaralı cevabımda yer alan " --Tarih olmayan veriler " altbaşlığında yapmıştım.

.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst