merhaba ,
ilk önce belirteyim vba konusunda çok acemiyim ve bir erp programına excel de düzenlediğim alanlar ile programın kütüphanesini kullanarak toplu fatura aktarımı yapmaya çalışıyorum fakat nasıl bir döngü kuracağımı bilemedim. Yapmak isteğim şu şekilde , kod içerisinde FatUst.CariKod = ?????? alanına her seferinde tek değer atamam gerekiyor , bu örneğe göre ilk değer AAA olacak ve 6. satıra kadar bu şekilde devam edecek , bu şekilde kalem bilgileri kısmı da For i = 2 To ?????? ' B sütunundaki değer değişene kadarki satırlar , örnek resme göre ilk döngü i =2 to 6 sonra i=7 to 8 ve son olarak i=9 to 10 . Her cari kod değeri değiştiğinde döngü tekrar Set Fatura = Kernel.yeniFatura(Sirket, ftSFat) üstüne dönüp ilgili satırları alıp Fatura.kayitYeni ile işlemi bitirecek şekilde olması gerekiyor.Yani bu örnekte 3 tane fatura oluşması gerekiyor renklendirdiğim şekilde. Yardımlarınızı rica ediyorum.
Fatura Tarihi Cari Kod Cari İsim Stok Kodu Stok Adı Miktar Fiyat
20.04.2020 AAA A Şirketi TKNS02 deneme 1 5 10,50
20.04.2020 AAA A Şirketi TKNS03 deneme 2 6 20,30
20.04.2020 AAA A Şirketi TKNS04 deneme 3 7 1.140,55
20.04.2020 AAA A Şirketi TKNS03 deneme 2 6 20,30
20.04.2020 AAA A Şirketi TKNS04 deneme 3 7 1.140,55
20.04.2020 BBB B Şirketi TKNS04 deneme 3 7 1.140,55
20.04.2020 BBB B Şirketi TKNS03 deneme 2 6 20,30
20.04.2020 AAA A Şirketi TKNS03 deneme 2 6 20,30
20.04.2020 AAA A Şirketi TKNS04 deneme 3 7 1.140,55
ilk önce belirteyim vba konusunda çok acemiyim ve bir erp programına excel de düzenlediğim alanlar ile programın kütüphanesini kullanarak toplu fatura aktarımı yapmaya çalışıyorum fakat nasıl bir döngü kuracağımı bilemedim. Yapmak isteğim şu şekilde , kod içerisinde FatUst.CariKod = ?????? alanına her seferinde tek değer atamam gerekiyor , bu örneğe göre ilk değer AAA olacak ve 6. satıra kadar bu şekilde devam edecek , bu şekilde kalem bilgileri kısmı da For i = 2 To ?????? ' B sütunundaki değer değişene kadarki satırlar , örnek resme göre ilk döngü i =2 to 6 sonra i=7 to 8 ve son olarak i=9 to 10 . Her cari kod değeri değiştiğinde döngü tekrar Set Fatura = Kernel.yeniFatura(Sirket, ftSFat) üstüne dönüp ilgili satırları alıp Fatura.kayitYeni ile işlemi bitirecek şekilde olması gerekiyor.Yani bu örnekte 3 tane fatura oluşması gerekiyor renklendirdiğim şekilde. Yardımlarınızı rica ediyorum.
Fatura Tarihi Cari Kod Cari İsim Stok Kodu Stok Adı Miktar Fiyat
20.04.2020 AAA A Şirketi TKNS02 deneme 1 5 10,50
20.04.2020 AAA A Şirketi TKNS03 deneme 2 6 20,30
20.04.2020 AAA A Şirketi TKNS04 deneme 3 7 1.140,55
20.04.2020 AAA A Şirketi TKNS03 deneme 2 6 20,30
20.04.2020 AAA A Şirketi TKNS04 deneme 3 7 1.140,55
20.04.2020 BBB B Şirketi TKNS04 deneme 3 7 1.140,55
20.04.2020 BBB B Şirketi TKNS03 deneme 2 6 20,30
20.04.2020 AAA A Şirketi TKNS03 deneme 2 6 20,30
20.04.2020 AAA A Şirketi TKNS04 deneme 3 7 1.140,55
Kod:
Sub FaturayaKaydet()
Dim Kernel As New NetOpenX50.Kernel
Dim Sirket As NetOpenX50.Sirket
Dim Fatura As NetOpenX50.Fatura
Dim FatUst As NetOpenX50.FatUst
Dim FatKalem As NetOpenX50.FatKalem
Set Sirket = Kernel.yeniSirket(NetOpenX50.vtMSSQL, "ABC Şirketi", "xxx", "", "yyy", "zzz", 0)
Set Fatura = Kernel.yeniFatura(Sirket, ftSFat)
'Fatura Ust Bilgilerini Olustur
Set FatUst = Fatura.Ust
FatUst.CariKod = ?????? ' resimde B sütununda bulunan AAA,BBB,CCC değerleri
If FatUst.EfaturaCarisiMi = True Then FatUst.FATIRS_NO = Fatura.YeniEfaturaNumara("PR1") Else FatUst.FATIRS_NO = Fatura.YeniEArsivNumara("SL1")
FatUst.TIPI = ft_YurtIci
FatUst.Tarih = "22.04.2020"
FatUst.FiiliTarih = "30.04.2020"
FatUst.KDV_DAHILMI = False
' Kalem bilgileri
For i = 2 To ?????? ' B sütunundaki değer değişene kadarki satırlar , örnek resme göre ilk döngü i =2 to 6 sonra i=7 to 8 ve son olarak i=9 to 10
Set FaturaKalem = Fatura.kalemYeni(Worksheets("Sayfa1").Range("D" & i).Value)
FaturaKalem.Ekalan = (Worksheets("Sayfa1").Range("E" & i).Value)
FaturaKalem.Ekalanneden = 1
FaturaKalem.STra_GCMIK = (Worksheets("Sayfa1").Range("F" & i).Value)
FaturaKalem.STra_BF = (Worksheets("Sayfa1").Range("G" & i).Value)
FaturaKalem.D_YEDEK10 = (Worksheets("Sayfa1").Range("A" & i).Value)
Next i
Fatura.kayitYeni
End Sub
