stok programımdaki koda yardım lütfen

hakpin

Banned
Katılım
16 Ekim 2006
Mesajlar
106
Excel Vers. ve Dili
Excel 2003 Türkçe
Diğer sayfaya aktardığımız ürün ismi listede mevcut ise eskisinin üzerine yazarmı?

"BK4" Hücresine yazmış olduğum ürün ismi "stok" sayfasına aktardığımda,listede mevut bir ürün ise, yazmış olduğum yeni değerler ürünün eski değerlerinin üzerine yazılsın. Eğer girmiş olduğum ürün ismi stok sayfasında ismi olmayan yeni bir ürün ise stok sayfasında boş olan ilk satıra atsın .Mümkünmü acaba.Yardımcı olursanız çok sevinirim.Sayenizde basit bir stok programım olacak.Şimdiden teşşekkür ediyorum. Ayrıntı ekteki dosyam da mevcut.
Sayfa = ("STOK")
son = WorksheetFunction.CountA(Sheets(Sayfa).[C3:C600]) + 1
Sheets(Sayfa).Cells(son, "D") = [BK4]
Sheets(Sayfa).Cells(son, "C") = [BK6]
Sheets(Sayfa).Cells(son, "F") = [BK10]
Sheets(Sayfa).Cells(son, "G") = [BK12]
Sheets(Sayfa).Cells(son, "H") = [BK14]
Sheets(Sayfa).Cells(son, "M") = [BK16]
End Sub
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Dosyanızı inceledim. Fakat tam olarak hangi hücreleri toplatacağınızı bilmediğim için tahmini olarak yazdım. (Bu tür sorularınızda lütfen hücre adreslerini belirtinki cevap verecek arkadaşlar tahminde bulunmak zorunda kalmasınlar.)

Aşağıdaki kodu denermisiniz.

Kod:
Sub AKTAR()
    Set SS = Sheets("STOK")
    Set SG = Sheets("GİRİŞ")
    Set WF = WorksheetFunction
    If SG.[BK4] = "" Or SG.[BK6] = "" Or SG.[BK8] = "" Or SG.[BK10] = "" Or _
    SG.[BK12] = "" Or SG.[BK14] = "" Or SG.[BK16] = "" Then
    MsgBox "EKSİK BİLGİ GİRİŞİ !" & vbCrLf & "LÜTFEN GİRDİĞİNİZ BİLGİLERİ KONTROL EDİNİZ.", vbExclamation
    Exit Sub: End If
    If WF.CountIf(SS.[D:D], SG.[BK4]) > 0 Then
    SATIR = SS.[D:D].Find(SG.[BK4]).Row
    SS.Cells(SATIR, "D") = SG.[BK4]
    SS.Cells(SATIR, "C") = SG.[BK6]
    SS.Cells(SATIR, "F") = SG.[BK10]
    SS.Cells(SATIR, "G") = SG.[BK12]
    SS.Cells(SATIR, "H") = SG.[BK14]
    SS.Cells(SATIR, "I") = SS.Cells(SATIR, "I") + SG.[BK8]
    SS.Cells(SATIR, "M") = SG.[BK16]
    Else
    SON_SATIR = SS.[C65536].End(3).Row + 1
    SS.Cells(SON_SATIR, "D") = SG.[BK4]
    SS.Cells(SON_SATIR, "C") = SG.[BK6]
    SS.Cells(SON_SATIR, "F") = SG.[BK10]
    SS.Cells(SON_SATIR, "G") = SG.[BK12]
    SS.Cells(SON_SATIR, "H") = SG.[BK14]
    SS.Cells(SON_SATIR, "I") = SG.[BK8]
    SS.Cells(SON_SATIR, "M") = SG.[BK16]
    End If
    SG.[BK4:CB4,BK6:BQ6,BK8:BQ8,BK10:BQ10,BK12:BQ12,BK14:BQ14,BK16:CB16].ClearContents
    Set SS = Nothing
    Set SG = Nothing
    MsgBox "BİLGİLER AKTARILMIŞTIR.", vbInformation
End Sub
 
Son düzenleme:

hakpin

Banned
Katılım
16 Ekim 2006
Mesajlar
106
Excel Vers. ve Dili
Excel 2003 Türkçe
Sayın COST_CONTROL;
Umudumu yitirmiş bir şekilde tekrar bakayım dedim ve cevabınızı gördüm. İlginizden dolayı size çok teşekkür ederim.Hücre adresleri konusunda haklısınız.Yazdığınız kodları uyguladım. Yalnız yeni ürün girişi yaptığım zaman adet tutarını sol üst köşede seçili olan ürünün adet sütununa "I" atarak orada seçili mevcut ürünün adedinin üzerine toplamakta .Birde mevcut ürünü "bk4" hücresindeki açılır kutudan seçsem bile sol üste "ürün adı" bulunan kutudaki seçili ürünün satırına gitmekte."bk4" hücresinde seçili olan ürünün satırına gitmesi , mümkünmü desem çok şeymi istemiş olurum, Dosyayı yazmış olduğunuz kodları uyarlayarak yeniden ekledim.Tekrar teşekkür eder ,kolaylıklar dilerim.
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Üstteki kodu güncelledim. Umarım istediğiniz gibi olmuştur.
 
Üst