• DİKKAT

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

Excel bir sayıdan sonrasını sıfırlamak

  • Konbuyu başlatan Konbuyu başlatan tekil
  • Başlangıç tarihi Başlangıç tarihi
Katılım
16 Nisan 2012
Mesajlar
7
Excel Vers. ve Dili
2003
Kapsamlı bir çalışma hazırlıyorum yalnız yapmam gereken işlemlerde üst sayı 80 bu sayıdan sonra tekrar başa dönmesi gerekiyor hesapların.

Mesela 91 yerine 11 olarak hesaplama yapmam gerekiyor. İki sayının toplamı 80 sayısını geçiyorsa 81 yerine 1 rakamından devam etmesi lazım. Burada şu anlık takıldım. Umarım yardımcı olacaklar vardır.

Aslında çalışma bitmek üzere bunu bütün hesaplara girilecek şekilde bir metot olursa işime çok yarayacak.
 
lttaki kodları sayfanın kod bölümüne kopyalayın. A1 hücresi için istediğinizi yapacak. Veri başka hücrede ise hücre adını değiştirerek kullanın.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("a1")) Is Nothing Then Exit Sub
If Range("a1") > 80 Then
d = Int(Range("a1").Value / 80)
Range("a1").Value = Range("a1").Value - (80 * d)
End If
End Sub

Girilmiş verileri düzeltmek istiyorsanız ve veriler a sütununda ise ;

Kod:
Sub prmts()
For i = 1 To Range("a65536").End(3).Row
If Range("a" & i) > 80 Then
d = Int(Range("a" & i).Value / 80)
Range("a" & i).Value = Range("a" & i).Value - (80 * d)
End If
Next i
End Sub

Kodları kullanmadan önce çalışmanızın mutlaka yedeğini alınız.
İyi çalışmalar.A
 
İlginiz için teşekkür ederim. Kodları girdiğimde sonuç aldım ama kodu girdiğimde hücrelerdeki toplama çıkarma gibi işlemler siliniyor.

Bu kodu benim kullandığım tüm sütunlarda ki bütün hücreleri kapsayan şekilde girebilirsem sorunum kalmayacak ama formüllerin silinmesi olayı biraz daha zorlaştırdı sanırım.
 
Benim yanlış yaptığım bir durum mu var acaba ? Hala çözebilmiş değilim.
 
Merhaba,

Örnek dosya ekleyip istediğiniz işlemi açıklarmısınız. Dosyanız büyükse küçük bir örneğini ekleyiniz.
 
Merhaba,

Örnek dosya ekleyip istediğiniz işlemi açıklarmısınız. Dosyanız büyükse küçük bir örneğini ekleyiniz.

Merhaba dosya büyük değil ama tarif etmeye çalışayım isterseniz.

sayfa 1 ve sayfa 2 şeklinde 2 adet sayfa var ilk sayfada 22 adet kutu var o kutulara herhangi bir rakam girdiğinizde 2 sayfada o 22 kutuya girilen sayılar birbiri arasında toplama ve çıkarma işlemi yapıyor hepsi bu. mesela 66 ile 30 sayısı toplanınca 96 yerine 16 şeklinde sonuç vermesini istiyorum. Aslında basit bir toplama işleminde bunu başarabilirsem hepsinde uygularım ama yukarıda verilen kodları girince sonuç veriyor ama bu seferde 2. sayfadaki yazdığım toplama formüllerini sıfırlıyor hücrede formül kayboluyor.
 
Son düzenleme:
Merhaba,

Ben size algoritmayı paylaşın demedim. Sorunuzu küçük bir örnek dosya ile açıklarsanız size göre basit olan koşul farklı sorgular gerektirebilir. Bu sebeple örnek dosya talebinde bulunuyoruz.

Neyse anladığım kadarıyla formüllerinizi aşağıdaki yapıya göre düzenlerseniz sorununuz çözülebilir.

Kod:
=MOD(TOPLA(B1;C1);80)

Kendi verilerinize göre uyarlarsınız.
 
Merhaba,

Ben size algoritmayı paylaşın demedim. Sorunuzu küçük bir örnek dosya ile açıklarsanız size göre basit olan koşul farklı sorgular gerektirebilir. Bu sebeple örnek dosya talebinde bulunuyoruz.

Neyse anladığım kadarıyla formüllerinizi aşağıdaki yapıya göre düzenlerseniz sorununuz çözülebilir.

Kod:
=MOD(TOPLA(B1;C1);80)

Kendi verilerinize göre uyarlarsınız.

Bu işimi görüyor yalnız işime yarayacak olan kısım bul ve değiştir hata veriyor.

Şu şekilde işlem yaptığım formüller var

=TOPLA( 'on numara'!F10+'on numara'!L10) ve =(O2+M3) gibi iki farklı toplama işleminde kullanmam gerekiyor.


=MOD(TOPLA( 'on numara'!F10+'on numara'!L10);80) ve =MOD(TOPLA(O2+M3);80)

şeklinde tüm formüllerde değişiklik yapmam gerekiyor sanırım ama bul değiştir kısmı formülde eksiklik var şeklinde uyarı veriyor.
 
Dediğiniz şekilde yaptım ama bu şekilde 80 sayısını 0 olarak algılıyor. Aslında 80 sayısını içine alsa ve 81 den itibaren saymaya başlasa sorunum hallolmuş olacak.

Örnek bir çalışma sayfasını mesaja ekliyorum. Umarım yardımcı olursunuz.

Yapmak istediğim sadece toplama işlemlerinde çıkarma işleminde gerek kalmıyor zaten.
 
Son düzenleme:
Merhaba,

Küçük bir eğer sorgusu ile bu sorunu aşabilirsiniz.

A1-B1 hücreleri için örnek;

Kod:
=EĞER(TOPLA(A1:B1)<=80;TOPLA(A1:B1);MOD(TOPLA(A1:B1);80))
 
Teşekkür ederim. Siyah renkteki toplama alanlarında çalışıyor ama kırmızı alanda yani çapraz toplama yapılan yerlerde hata verdi. Ben yanlış bir şey yaptım sanırım o alanlarda denemiş miydiniz acaba ?

İkinci olarak bul değiştir şeklinde bunu tüm toplama işlemlerine yerleştirmem harika olacak.
 
Merhaba,

TOPLA(A1:B1) yazan yere formüllerinizi yazmanız yeterli olacaktır.
 
Geri
Üst