Veri Aktarma

hedjaz

Altın Üye
Katılım
17 Nisan 2009
Mesajlar
100
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
29-08-2029
Merhabalar,

Kaydet butonu çalışmıyor. Dosyaya açıklamaları yazdım.

Yardımcı olursanız çok sevinirim.
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Tanımlama sayfanızda kaydedilecek hücreler G3 ve H3 olarak belirlenmiş. bunlar 7. ve 8. sütunlar. Kodda ise 7. sütun yerine 8. sütun ve 8. sütun yerine 9. sütun olarak ayarlanmış. Kod şöyle olmalı:

PHP:
Private Sub CommandButton1_Click()

Dim s1 As Worksheet, mal As Worksheet, hizmet As Worksheet
Set s1 = Sheets("Mamul Kodlama"): Set mal = Sheets("Mamul Listesi")


    If Not s1.Cells(3, 3) = "" And Not s1.Cells(4, 3) = "" Then
    Set m_bul = mal.Range("B:B").Find((s1.Cells(3, 8)), lookat:=xlWhole)
        If m_bul Is Nothing Then
            son = mal.Cells(Rows.Count, 2).End(xlUp).Row + 1
            mal.Cells(son, 1).Resize(1, 2) = Array(s1.Cells(3, 7), s1.Cells(3, 8))
            MsgBox "Mamül Listesine Kayit Yapildi", vbInformation + vbMsgBoxRtlReading, "Artikel Tanımlama"
        Else
            MsgBox "Ürün Listede Mevcut", vbCritical + vbMsgBoxRtlReading, "Artikel Tanımlama"
        End If
    End If
End Sub
Bu tür sorunlarla karşılaşmamak için örneğinizdeki gibi hücre adresleriniz belliyse cells(3,9) şeklinde tanımlamak yerine doğrudan hücre adreslerini kullanmanızı öneririm. Örneğin kodlarınız şöyle olsa daha iyi olurdu:

Kod:
Private Sub CommandButton1_Click()
Dim s1 As Worksheet, mal As Worksheet, hizmet As Worksheet
Set s1 = Sheets("Mamul Kodlama"): Set mal = Sheets("Mamul Listesi")
    If Not s1.[C3] = "" And Not s1.[C4] = "" Then
    Set m_bul = mal.Range("B:B").Find((s1.[H3]), lookat:=xlWhole)
        If m_bul Is Nothing Then
            son = mal.Cells(Rows.Count, 2).End(xlUp).Row + 1
            mal.Cells(son, 1) = s1.[G3]
            mal.Cells(son, 1) = s1.[H3]
            MsgBox "Mamül Listesine Kayit Yapildi", vbInformation + vbMsgBoxRtlReading, "Artikel Tanımlama"
        Else
            MsgBox "Ürün Listede Mevcut", vbCritical + vbMsgBoxRtlReading, "Artikel Tanımlama"
        End If
    End If
End Sub
 

hedjaz

Altın Üye
Katılım
17 Nisan 2009
Mesajlar
100
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
29-08-2029
Öncelikle dönüşünüz ve verdiğiniz bilgi için teşekkür ederim.

yazdığınız makroyu denedim.

Kaydet dediğimde sadece sistem kodunu atıyor ve Mamul adına atıyor. İstediğim hem ürün adını hem de sistem kodunu aktarmasıydı.

Birde ikinci bir ürünü aktarmak istediğimde üstüne atıyor altına değil.

Son olarak Aynı ürün adını veya kodu aktarma durumunda "Ürün listede Mevcut" uyarısı vermiyor.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Verdiğim ilk kod istediğiniz gibi çalışıyor. İkinci kodda ise

mal.Cells(son, 1) = s1.[G3]
mal.Cells(son, 1) = s1.[H3]

kısmını

mal.Cells(son, "A") = s1.[G3]
mal.Cells(son, "B") = s1.[H3]

olarak değiştirirseniz düzelecektir.
 

hedjaz

Altın Üye
Katılım
17 Nisan 2009
Mesajlar
100
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
29-08-2029
Tamamdır. Çok teşekkür ederim elinize sağlık.
 
Üst