• DİKKAT

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

:yardim: kaydet varsa değiştir

Katılım
9 Ocak 2007
Mesajlar
27
Excel Vers. ve Dili
2003 ingilizce
userformdaki bilgileri kaydet dediğimde eğer kaydedeceği sayfada daha önce kaydedilmiş aynı üründen varsa o satırı değiştirsin. yardımcı olursanız sevinirim.
ek tede anlatmaya çalıştım.
 
kodlarınızı aşağıdaki ile değiştiriniz..

Private Sub CommandButton1_Click()
Set s2 = Sheets("DATA")

For a = 2 To s2.[a65536].End(3).row
If s2.cells(a, "a") = URUNISMI Then
s2.cells(a, "a") = URUNISMI
s2.cells(a, "B") = GRAMAJ
s2.cells(a, "C") = FIYAT
GoTo 2
End If
Next
SONSAT = sheets("DATA").[a65536].end(3).row + 1
s2.Cells(SONSAT, 1) = URUNISMI
s2.Cells(SONSAT, 2) = GRAMAJ
s2.Cells(SONSAT, 3) = FIYAT

2
URUNISMI = Empty
GRAMAJ = Empty
FIYAT = Empty
msgbox "KAYDEDİLDİ.."
End Sub
 
Sayin Meslekİ Çok TeŞekkÜrler.

Şunu Da İlave Etmek İstİyorum Kİ Hafta BaŞinda Vba İle İlgİlİ HİÇbİr Şey Bİlmİyordum. Excel E Ancak DÖrt İŞlem Yaptirabİlİyordum Sadece.
Sonra Bu Sİtedekİ Örneklere Bakarak Ve Sadece 2-3 Soru Sorarak Şİmdİ Baya Cİddİ Bİr Programim Bİtmek Üzere. İnŞ Enkisa Zamanda Bİtİrİp Sİteye İlave EdeceĞİm Belkİ Bİrİlerİ De Benİm Yaptiklarimdan Faydalanir.
Bu Sİteye EmeĞİ GeÇen BÜtÜn Herkese TeŞekkÜr Ederİm.
 
Aşağıdaki gibi de deneyebilirsiniz.

Kod:
Private Sub CommandButton1_Click()
Set s1 = Sheets("data")
say = WorksheetFunction.CountIf(s1.[a:a], URUNISMI)
If say > 0 Then
sat = s1.[a1:a65536].Find(URUNISMI).Row
s1.Cells(sat, 1) = URUNISMI
s1.Cells(sat, 2) = GRAMAJ
s1.Cells(sat, 3) = FIYAT
Exit Sub
End If
SONSAT = s1.[a65536].End(3).Row + 1
Cells(SONSAT, 1) = URUNISMI
Cells(SONSAT, 2) = GRAMAJ
Cells(SONSAT, 3) = FIYAT
End Sub
 
Sayın leventm ilginiz ve alakanızdan dolayı çok teşekkür ederim. benim programımda ki bütün kodlar çok uzun. sanırım hepsinin daha kısa yazmanın da yolunu zamanla öğreneceğim. bana tavsiye edeceğiniz bir kitap ta varsa alıp incelemeyi isterim.
 
Geri
Üst