• DİKKAT

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

Soru Alt Kademelere Göre Toplam Sayı Çıkartma

  • Konbuyu başlatan Konbuyu başlatan furmet
  • Başlangıç tarihi Başlangıç tarihi
Merhaba

Ek dosyayı inceleyin.

istediğiniz sonuç bu ancak dosya yapınızı kontrol etmelisiniz.
Verilerinizde " ," yerine "." kullanılan yerler var.
 

Ekli dosyalar

Öncelikle Ürün Ağacı yani öge no sütununu düzenlemeniz gerekir.
1,5 ürün kodu hem A8 hücrede hem A53 hücrede var, bu şekilde olmamalı.
Bu şekilde olursa tüm tabloda çalışacak formül yazamazsınız. benim yaptığım gibi dar bölgesel formül olmak zorunda kalırsınız.
 
Tablonuzda; Parça numarası x,xx (virgül ile ayrılmış) şeklinde ve kullanılacak malzemeler x.xx (nokta ile ayrılmış) ise notasyonda sorun yok, ToplaÇarpım uygun fonksiyondur.
 
Tüm alt kodlar için aradaki noktalama işaretini her daim "NOKTA" olarak kullanabiliyormusunuz? Ve excele aktardığınızda hepsi metin formatında geliyor mu? Excel bir kısmını tarih olarak algılayabilir bu yüzden soruyorum. Teyit edermisiniz.
 
Tüm alt kodlar için aradaki noktalama işaretini her daim "NOKTA" olarak kullanabiliyormusunuz? Ve excele aktardığınızda hepsi metin formatında geliyor mu? Excel bir kısmını tarih olarak algılayabilir bu yüzden soruyorum. Teyit edermisiniz.
Denedim hep tarih olarak algılıyor Maalesef ona çözüm arıyorum
 
Tüm alt kodlar için aradaki noktalama işaretini her daim "NOKTA" olarak kullanabiliyormusunuz? Ve excele aktardığınızda hepsi metin formatında geliyor mu? Excel bir kısmını tarih olarak algılayabilir bu yüzden soruyorum. Teyit edermisiniz.
Bu sorunuda çözdüm
 
Ok.
Hepsini Virgül olarak verebiliyor musunuz? Edit: Nokta olarak mı vereceksiniz ?

Not:
@uzmanamele , sanırım arkadaşın aradığı çözüm o değil. Zira malzeme kodları bazen 4 hane olabildiği gibi bazen 14 hane de olabiliyor. Ve bu durumda bir üst parçanın kodu farklı oluyor.
 
Tüm alt kodlar için aradaki noktalama işaretini her daim "NOKTA" olarak kullanabiliyormusunuz? Ve excele aktardığınızda hepsi metin formatında geliyor mu? Excel bir kısmını tarih olarak algılayabilir bu yüzden soruyorum. Teyit edermisiniz.
Dediğiniz sorunu çözdüm bir problem gözükmüyor çalıştırabiliyorum hepsi . olarak alabiliyorum.
 
Ok.
Hepsini Virgül olarak verebiliyor musunuz? Edit: Nokta olarak mı vereceksiniz ?

Not:
@uzmanamele , sanırım arkadaşın aradığı çözüm o değil. Zira malzeme kodları bazen 4 hane olabildiği gibi bazen 14 hane de olabiliyor. Ve bu durumda bir üst parçanın kodu farklı oluyor.
Hiç fark etmez, ürün ağacı notasyonu kullanılıyor.
Örnekte 1,5 ürün kodu için gerekli malzemeler 1,5xxx şeklinde olacaktır. ister 3 karakter ister 13 karakter olsun.
1,5 için uzunluk 3 karakter olduğu için kolay anlaşılsın diye soldan 3 karakter alıyor.
Esas formülde Aranan ürün kodu uzunluğuna bakılacak ve ona göre hesaplayacak.
 
Son düzenleme:
Farklı anlıyoruz konuyu.
Ben yine de soruyu anladığım haliyle kodlarla aşağıdaki gibi cevaplayayım.

Sayın Furmet. Dosyanızın A sütununda tamamen NOKTA ile parça numaralarını getirdiğinizi varsayarak, dosyanızın K sütununa Yeni parça miktarlarını hesaplamak için aşağıdaki kodları bir modüle içine yerleştirip çalıştırabilirsiniz.

Örnek dosyanız
https://dosya.co/r6a32xtzzhpl/MalzemeNo.xlsm.html

C++:
Sub ParçaSay()
Dim X As Range, Çarpan As Integer
For i = 3 To Range("A" & Rows.Count).End(3).Row
    If InStrRev(Range("A" & i), ".") > 0 Then
        Çarpan = Range("A3:A" & Son).Find(Left(Range("A" & i), InStrRev(Range("A" & i), ".") - 1), , xlValues, xlWhole).Offset(0, 1)
    Else
        Çarpan = 1
    End If
    Range("K" & i) = Çarpan * Range("B" & i)
Next
End Sub
 

Ekli dosyalar

Farklı anlıyoruz konuyu.
Ben yine de soruyu anladığım haliyle kodlarla aşağıdaki gibi cevaplayayım.

Sayın Furmet. Dosyanızın A sütununda tamamen NOKTA ile parça numaralarını getirdiğinizi varsayarak, dosyanızın K sütununa Yeni parça miktarlarını hesaplamak için aşağıdaki kodları bir modüle içine yerleştirip çalıştırabilirsiniz.

Örnek dosyanız
https://dosya.co/r6a32xtzzhpl/MalzemeNo.xlsm.html

C++:
Sub ParçaSay()
Dim X As Range, Çarpan As Integer
For i = 3 To Range("A" & Rows.Count).End(3).Row
    If InStrRev(Range("A" & i), ".") > 0 Then
        Çarpan = Range("A3:A" & Son).Find(Left(Range("A" & i), InStrRev(Range("A" & i), ".") - 1), , xlValues, xlWhole).Offset(0, 1)
    Else
        Çarpan = 1
    End If
    Range("K" & i) = Çarpan * Range("B" & i)
Next
End Sub
Merhaba Ömer Bey,



Uyarısı alıyorum
 
Tekrar dener misiniz?
C++:
Sub ParçaSay()
Dim X As Range, Çarpan As Integer
For i = 3 To Range("A" & Rows.Count).End(3).Row
    If InStrRev(Range("A" & i), ".") > 0 Then
        Çarpan = Range("A3:A" & i - 1).Find(Left(Range("A" & i), InStrRev(Range("A" & i), ".") - 1), , xlValues, xlWhole).Offset(0, 1)
    Else
        Çarpan = 1
    End If
    Range("K" & i) = Çarpan * Range("B" & i)
Next
End Sub
 
Tekrar dener misiniz?
C++:
Sub ParçaSay()
Dim X As Range, Çarpan As Integer
For i = 3 To Range("A" & Rows.Count).End(3).Row
    If InStrRev(Range("A" & i), ".") > 0 Then
        Çarpan = Range("A3:A" & i - 1).Find(Left(Range("A" & i), InStrRev(Range("A" & i), ".") - 1), , xlValues, xlWhole).Offset(0, 1)
    Else
        Çarpan = 1
    End If
    Range("K" & i) = Çarpan * Range("B" & i)
Next
End Sub
Elinize emeğinize sağlık Ömer Bey tam olarak istediğim buydu ilginiz için teşekkür ederim
 
Geri
Üst