• DİKKAT

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

TL ve KR ayırma ve toplama

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,545
Excel Vers. ve Dili
2021 LTSC TR
Hayırlı Sabahlar.
Müsait olan ustalarımdan makro konusunda istirhamım olacak.

TL kısmı için :
H6 hücresine 100,25 yazdığım zaman 25 KR' yi I6 hücresine atacak
H7 hücresine 150,75 yazdığım zaman 75 KR' yi I7 hücresine atacak
Bu işlem 33 üncü satıra kadar devam edecek.
34 üncü satırda ise;
H34 hücresine TL toplamını I34 hücresine de KR toplamını alacak.

Yardımcı olacak arkadaşlara şimdiden teşekkürü bir borç bilir saygılarımı sunarım.

H6:H33 TL kısmı
I6:I33 KR kısmı

H34 TL Toplamı
I34 KR toplamı
 
Bu şekilde dener misiniz ?
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column <> 8 Then Exit Sub
    a = Int(Target)
    b = Format(Target - Int(a), "0.00")
    Target = a
    Cells(Target.Row, Target.Column + 1) = b
End Sub
 
Hamit Abi
Kr kısmını örneğin 111,11 TL yi 0,11 olarak atıyor.
Birde toplama yapmıyor abi.
 
Böyle deneyin.:cool:
Kod:
b = (Target - a)*100
 
Evren Abi Hayırlı Akşamlar.
Kr kısmı tamam.

Eğer Müsaitseniz H34 hücresine TL tutarlarının toplamını I34 hücresine de KR toplamlarını aldırabilecek makro için rica etsem yardımcı olabilir misiniz?
 
Buyurun.:cool:
Kod:
Range("H34").Value = WorksheetFunction.Sum(Range("H6:H33"))
Range("I34").Value = WorksheetFunction.Sum(Range("I6:I33"))
 
Evren Abi Özür dilerim.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column <> 8 Then Exit Sub
    a = Int(Target)
    b = (Target - a)*100
    Target = a
    Cells(Target.Row, Target.Column + 1) = b
End Sub

Kodu ile Tl ve Kr ayırma tamam. Bu koda ilaveten H34 hücresine TL toplamı ve I34 hücresine Kr toplamı alacağım. Kr hücresinde artan TL kısmını da TL hücresine aktaracak.

Mümkünse bu kod için (tamamı tek makroda olacak şekilde) yardımcı olabilir misiniz?
 
Hamitcan Bey'in ve Orion1 Bey'in kodlarının birleştirilmiş hali.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Intersect(Target, Range("H1:H33")) Is Nothing Then Exit Sub  
    a = Int(Target)
    b = (Target - a)*100
    Target = a
    Cells(Target.Row, Target.Column + 1) = b
Range("H34").Value = WorksheetFunction.Sum(Range("H6:H33"))
Range("I34").Value = WorksheetFunction.Sum(Range("I6:I33"))
End Sub
 
Dosyanız bozuk. Tekrar yükleyiniz
 
TOPLAMA işlemi için buyurunuz.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("H6:I33")) Is Nothing Then Exit Sub
Cells(34, 9) = 100 * ((WorksheetFunction.Sum(Range("I6:I33")) / 100) - (Int(WorksheetFunction.Sum(Range("I6:I33")) / 100)))
Cells(34, 8) = WorksheetFunction.Sum(Range("H6:H33")) + Int(WorksheetFunction.Sum(Range("I6:I33")) / 100)
End Sub
 
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("H6:I33")) Is Nothing Then Exit Sub
Cells(34, 9) = 100 * ((WorksheetFunction.Sum(Range("I6:I33")) / 100) - (Int(WorksheetFunction.Sum(Range("I6:I33")) / 100)))
Cells(34, 8) = WorksheetFunction.Sum(Range("H6:H33")) + Int(WorksheetFunction.Sum(Range("I6:I33")) / 100)
End Sub

kodu toplamayı gerçekleştiriyor.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column <> 8 Then Exit Sub
    a = Int(Target)
    b = (Target - a)*100
    Target = a
    Cells(Target.Row, Target.Column + 1) = b
End Sub

kodu da tl ve kr yi ayırıyor.

İki kodu sıkıntısız çalıştırmam için birleştirme de yardımcı olabilir misiniz?
 
Dosyanızdaki kodun en alttaki yeşil yazılı satırların başındaki tırnak işaretlerini kaldırırsanız toplama yapıyor. Yani 8 nolu mesajdaki gibi yaparsanız tamamdır.
 
üstad
13 üncü mesajdaki kodları birleştire bilir misiniz?
 
Buyurun.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Intersect(Target, Range("H1:H33")) Is Nothing Then Exit Sub
    a = Int(Target)
    b = Format(Target - Int(a), "0.00") * 100
    Target = a
    Cells(Target.Row, Target.Column + 1) = b
Cells(34, 9) = 100 * ((WorksheetFunction.Sum(Range("I6:I33")) / 100) - (Int(WorksheetFunction.Sum(Range("I6:I33")) / 100)))
Cells(34, 8) = WorksheetFunction.Sum(Range("H6:H33")) + Int(WorksheetFunction.Sum(Range("I6:I33")) / 100)
End Sub
 
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Intersect(Target, Range("H1:H33")) Is Nothing Then Exit Sub
    a = Int(Target)
    b = Format(Target - Int(a), "0.00") * 100
    Target = a
    Cells(Target.Row, Target.Column + 1) = b
Cells(34, 9) = 100 * ((WorksheetFunction.Sum(Range("I6:I33")) / 100) - (Int(WorksheetFunction.Sum(Range("I6:I33")) / 100)))
Cells(34, 8) = WorksheetFunction.Sum(Range("H6:H33")) + Int(WorksheetFunction.Sum(Range("I6:I33")) / 100)
End Sub

Hayırlı Akşamlar;
Mustafa Bey;
makro kodunu uyguladığım zaman
Kod:
If Intersect(Target, Range("H1:H33")) Is Nothing Then Exit Sub
kısmı sürekli hata veriyor. Bakabilmeniz mümkün mü?

Teşekkür ederim. Saygılarımla
 
Merhaba.
Aşağıdaki şekilde dener misiniz?
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If WorksheetFunction.CountBlank(Range("H6:H33")) = WorksheetFunction.CountBlank(Range("I6:I33")) Then Exit Sub
If Intersect(Target, Range("H6:H33")) Is Nothing Then Exit Sub
    If Int(Target) = Target Then
        Cells(Target.Row, Target.Column + 1) = 0 + Format(0, "0.00"): Target = Target
        Exit Sub
    Else
        Cells(Target.Row, 9) = 0 + 100 * Format((Target - Int(Target)), "0.00"): Target = Int(Target)
    End If
    Cells(34, 9) = (WorksheetFunction.Sum(Range("I6:I33"))) - (100 * Int(WorksheetFunction.Sum(Range("I6:I33")) / 100))
    Cells(34, 8) = WorksheetFunction.Sum(Range("H6:H33")) + (Int(WorksheetFunction.Sum(Range("I6:I33")) / 100))
End Sub
 
Son düzenleme:
Sayın Ömer BARAN Kardeşim.
Ellerine Sağlık. Makro kodu sıkıntısız olarak çalışmakta.
Teşekkür Ederim.
 
Geri
Üst