Sütunlardaki Sayıları Düzeltme

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Katılım
12 May 2019
Mesajlar
620
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba, hayırlı kandiller.

Ekte gönderdiğim ikramiye programında, başka programdan almış olduğum siciller metin olarak para miktarıda kuruş kısmı noktalı olarak geliyor.
Hangi personelin kaç lira almış olduğunu toplamak istiyorum, bu şekilde olduğu için toplamıyor, dosyada kod var SAYILARI DÜZELT butonundaki kodu çalıştırdığımda sayfa kilitleniyor. Veri aralığını küçülttüğüm zaman güzel çalışıyor.

Yapmak istediğim bu butona bastığımda Application.Inputbox kutusu açılsın, oraya yazacağım sütun başlıklarında işlem yapmasını istiyorum, örneğin bu kutucuğa I-L sütunu yazdığımda I4 ile L2000 arasındaki metin olanları rakama çevirsin, para olarak yazılı bulunan kuruş kısmındaki noktayı virgüle çevirsin istiyorum.

Yardımcı olur musunuz?
 

Ekli dosyalar

Çözüm
Office 2010 ve Office 2016'da bir sıkıtın yok hocam.

Bende tekrardan 1.mesajdaki dosyayı indirip denediğimde bahsettiğiniz bir sorun olmadığını gördüm, farklı bir işlem yapıyor olabilirmisiniz ?

Şimdi tekrar denememde kodu ikinci defa çalıştırınca bahsettiğiniz sıkıntıyı gördüm. Aşğıdaki kodu deneyiniz.

VBA:
İndirmek için giriş yapmanız gerekmektedir.
(16 satır)
Sayın Feyzullah Bey, ilginiz için çok teşekkür ediyorum.
Kodu çalıştırıyorum, hücreler hala metin olarak göründüğü için E ve F sütundaki formüller toplama yapmıyor.

Ekran Alıntısı.webp
 
Sayın Feyzullah Bey, güzel çalışıyor ellerinize sağlık, küçük bir sorun var, o da düzelirse süper olacak.
Butona bastığımda J ve L sütundaki parada yuvarlama yapıyor.

J4 hücre içeriği 55,1199989318847 bu şekilde görünüyor, hücrenin kendisi 55,11 bu şekilde görünmesi gerekir.
L4 hücre içeriği 25,6599998474121 bu şekilde görünüyor, hücrenin kendisi 25,66 bu şekilde görünmesi gerekir.

Bu şekilde ayarlayabilir misiniz?
 
Sizin gönderdiğiniz kod içerisinde zaten var, ama hücreyi ona dönüştürmüyor.

If InStr(hcr, ".") > 0 Then Cells(hcr.Row, hcr.Column).NumberFormat = "0.00"
 
ben yanlış anlamışım.

Kod:
İndirmek için giriş yapmanız gerekmektedir.
(1 satır)
yukarıda ki kodu CDbl(Replace(hcr, ".", ",")) bu şekilde değiştirin hocam.
 
Feyzullah Bey, CDbl(Replace(hcr, ".", ",")) bu kodu uyguladım, güzel çalışıyor, elinize sağlık, bu seferde J ve L sütunundaki hücrelerde 55,12 ve 25,66 kuruşlu para miktarları hücrede 55 ve 25 olarak görünüyor, hücre içerisine girildiği zaman 55,12 ve 25,66 olarak görünüyor, hücrede para miktarlarının hepsinin kuruşlu olarak tam görüntülemek istiyorum.

Ekran Alıntısı.webp
 
Sayın Ömer Bey, ilginiz için çok teşekkür ediyorum,
Kodları dosyama uyguladım, ekrana gelen mesaj kutusu içerisine I,J olarak yazdım butona bastığımda,
1111 sicili 1.111,00 şekline çevirdi, 55,12 olan para miktarını 5.512,00 şekline çevirdi.
1111 sicil aynı kalmalı, para miktarıda 55,12 şeklinde kalmalı.

Ayrıca ekrana gelen mesaj kutusu içerisine I-L şeklinde yazıp butona bastığımda debug hatası veriyor,
veri = Range(alan).Value kodun bu kısmını sarıya boyuyor.
 
Sayın @SilinenUye8231

Örnek belgeniz üzerinde herhangi bir hata almadım.
Ben genel geçer nitelikli bir yapı öngörmüş ve SAYIların ondalıklı kısmı 2 hane olarak biçimlendirme uygulatmıştım.
Açılan küçük ekranda yazılacak sütun adının hangisinin SİCİL, hangisinin PARASAL bir değer olacağı
bilinemeyeceğine göre en iyisi, verdiğim koddaki ....NumberFormat = "#,##0.00" kısımlarını (2 yerde var)
....NumberFormat = "General" olarak değiştirip ondan sonra deneyin.
 
Sayın Ömer Bey, parasal değer olan sütun olan J sütunundaki virgülleri iptal etti, sütundaki 55,12 değeri 5512 olarak yazdı.
Ekrana gelen mesaj kutusunun içerisine I-L yazdığımda debug hatası veriyor.
 
Sayın Ömer Bey, kod gayet güzel çalışıyor elinize sağlık, küçük bir sorun var.
Parasal kısım olan sütundaki rakamların arasındaki virgüller iptal olup, 5512, 2566 şekline dönüşüyor.
 
O halde, kodda yer alan (2 yerde) veri(sa, su) = 1 * veri(sa, su) kısımlarını veri(sa, su) = CSng(veri(sa, su)) olarak değiştirerek deneyin.
Yine sorun yaşarsanız Csng yerine bir de CDbl yazıp denersiniz.

Hangi sütunun parasal değer sütunu olduğu bilinemeyeceğine göre;
PARASAL sütunlar için virgülden sonraki basamak sayısı ayarını elle yapmanız gerekecek.

.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Benzer Konular Popüler İçerikler Daha Fazlası
Geri
Üst Alt