- Katılım
- 29 Kasım 2008
- Mesajlar
- 215
- Excel Vers. ve Dili
- excel 2003 türkçe
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Option Base 1
Sub rapor_59()
Dim z As Object, liste(), myarr(), sat1 As Long, sh As Worksheet
Dim sat2 As Long, deg As String, k As Byte, i As Long, n As Long
Sheets("BİLDİRİM RAPORU").Select
Set sh = Sheets("form")
sat1 = sh.Cells(65536, "I").End(xlUp).Row
Application.ScreenUpdating = False
If sat1 < 12 Then
Application.ScreenUpdating = True
Exit Sub
End If
liste = sh.Range("E12:M" & sat1).Value
Set z = CreateObject("Scripting.Dictionary")
ReDim myarr(1 To 9, 1 To sat1)
For i = 1 To UBound(liste)
deg = Replace(liste(i, 2), "-", "") & Replace(liste(i, 3), "-", "") & "-" & _
Replace(liste(i, 5), "-", "") & "-" & Replace(liste(i, 6), "-", "") & "-" & _
Replace(liste(i, 7), "-", "") & "-" & Replace(liste(i, 8), "-", "")
If Not z.exists(deg) Then
n = n + 1
z.Add deg, n
myarr(1, n) = liste(i, 5)
myarr(2, n) = liste(i, 2) & liste(i, 3)
myarr(3, n) = liste(i, 8)
myarr(4, n) = liste(i, 6)
myarr(5, n) = liste(i, 7)
myarr(9, n) = liste(i, 9)
End If
myarr(6, z.Item(deg)) = myarr(6, z.Item(deg)) + liste(i, 1)
Next i
Erase liste
sat2 = Cells(65536, "F").End(xlUp).Row + 1
If WorksheetFunction.CountIf(Range("B5:B" & sat2 - 1), sh.Range("C3").Value) > 0 Then
If MsgBox("Bu müşteri sipariş nosundan " & sh.Range("C3").Value & _
" Dağa önce kayıt girilmiş" & vbLf & "Tekrar girmek istiyormusunuz?", vbYesNo, "KAYIT") = vbNo Then
MsgBox "İşlem iptal edildi.", vbCritical, "UYARI"
Erase myarr
Set z = Nothing
Set sh = Nothing
Application.ScreenUpdating = True
Exit Sub
End If
End If
If sat2 + n >= 65533 Then
MsgBox "Akatarılacak veriler sayfadaki satır sayısını aşıyor. [ " & sat2 + n & " ]" _
& vbLf & "işlem iptal edildi.", vbCritical, "UYARI"
Erase myarr
Set z = Nothing
Set sh = Nothing
Application.ScreenUpdating = True
Exit Sub
End If
If sat2 + n - 1 - 4 > 25 Then
MsgBox "Bildirim raporu şu anda [ " & sat2 - 5 & " ] satır." & vbLf & _
"Eklenecek satır : " & n & vbLf & _
"25 satırı geçtiğinden satır eklemelisiniz." & vbLf & "İşlem İptal edildi", vbCritical, "UYARI"
Erase myarr
Set z = Nothing
Set sh = Nothing
Application.ScreenUpdating = True
Exit Sub
End If
If n > 0 Then
ReDim Preserve myarr(1 To 9, 1 To n)
Range("F" & sat2).Resize(n, 9) = Application.Transpose(myarr)
Range("B" & sat2).Resize(n, 1) = sh.Range("C3").Value
Range("C" & sat2).Resize(n, 1) = sh.Range("M3").Value
Range("D" & sat2).Resize(n, 1) = sh.Range("C5").Value
Range("E" & sat2).Resize(n, 1) = sh.Range("C4").Value
Application.ScreenUpdating = True
MsgBox "Kapı raporu çıkarıldı." & vbLf & _
"evrengizlen@hotmail.com", vbOKOnly + vbInformation, "E V R E N"
End If
Erase myarr
For i = sat2 To sat2 + n - 1
Cells(i, "A").Value = i - 4
Next i
Set z = Nothing: Set sh = Nothing
Application.ScreenUpdating = True
End Sub
Sayın Evren Gizlen;
Öncelikle teşekkür ederim.Yalnız müşteriyle ve siparişli ilgili bilgiler , yani müş no , sevk tarihi sip.tarihi gibi diğer sarıyla işartetlediğim yerler aktarılmıyor.bunların her satırda olması gerekiyor.Ayrıca mesela bu sipariş bitti form sayfasını temizledim yeni sipariş aktardığımda en son kalan satırdan başlaması gerekiyor.Birde özellikler aynı olursa adetleri toplayarak tek satırda göstermiyor.Yani Amerikan-Camlı-Zigana-Boyalı-Yavru kapılı ürününden 3 adet varsa tek satıra atıp karşısına toplam adetini ve birim fiyatını atması gerekiyor.BU şekilde diğer adetlerde aktarılmamış.
Sizi yorduğum için kusura bakmayın.Yardımlarınız için teşekkür ederim.
Sayın Evren Gizlen;
Öncelikle teşekkür ederim.Yalnız müşteriyle ve siparişli ilgili bilgiler , yani müş no , sevk tarihi sip.tarihi gibi diğer sarıyla işartetlediğim yerler aktarılmıyor.bunların her satırda olması gerekiyor.Ayrıca mesela bu sipariş bitti form sayfasını temizledim yeni sipariş aktardığımda en son kalan satırdan başlaması gerekiyor.Birde özellikler aynı olursa adetleri toplayarak tek satırda göstermiyor.Yani Amerikan-Camlı-Zigana-Boyalı-Yavru kapılı ürününden 3 adet varsa tek satıra atıp karşısına toplam adetini ve birim fiyatını atması gerekiyor.BU şekilde diğer adetlerde aktarılmamış.
Sizi yorduğum için kusura bakmayın.Yardımlarınız için teşekkür ederim.
Dosyayı güncelledim.Sayın Evren Gizlen ;
Elinize sağlık güzel olmuş.Yalnız önceki mesajda belirttiğim bir konu vardı.Bu bir sipariş şablonu.Örnekte yazdığım sipariş bitti ve yeni bir müşterinin yeni siparişine geçtim.Bu durumda form sayfasının içeriğini temizleyip yeni veriler giriyorum.Bu girdiğim siparişinde Bildirim Raporu sayfasındaki satır kaçta kalmışsa yani en son dolu satırdan sonra eklenmesi gerekiyor.Ayrıca ordaki fiyat kısmı Pazarlamanın Satışı kısmındaki fiyat sütununa aktarılacaktı.
Bu konuda yardımcı olursanız sevinirim.Şimdiden çok teşekkür ederim.
Dosyanızı 7 numaralı mesajdan indirebilirisniz..Sayın Even Gizlen ;
Yardımlarınız için çok teşekkürler. Sıra no kısmında 1den başlayarak otomatik arttırma yaptırabilirmiyiz. bu arada Bildirim raporu şablonu 25 satırdan sonra bitiyor.25 satırdan sonra veri aktarılmak istendiğinde satır eklemelisiniz diye bir uyarı verebilirmi? .Birde aynı Müş-Sipariş no olursa uyarı vermesi gerekiyor , aynı siparişi olduğunu kaydetmeye devam edilip edilmemesini gösteren bir Msgbox olabilirmi? diyelimki ben siparişte bir düzeltme yapıcam o siparişi ekrana getirdiğimde aynı müşteri ve sipariş nosuyla kayıt yaptığımda Bildirim raporunda aynı müş-sip no olduğunu uyaracak ve eğer yinede Kaydet dersem gidip üzerine kaydedecek bir şey.
Biliyorum çok şey istiyorum.Gerçekten yardım ederseniz çok memnun olurum.
Saygılarımla....
Dosyanızı yeni bir başlık açarak sorunuz.Bu başlıktaki soru cevaplandı ve sonuçlandı.Sayın Evren Gizlen hocam,
benim dosyayada bir bakabilirmisiniz?
Stok Kartlarından Rapor sayfasına girdiğim tarihe göre o tarihteki stok miktarlarını göstermesini istiyorum!!!
Yada çalışma ile ilgili farklı bir fikir verebilirmisiniz?
Ben onu yaptım.Hocam özür dilerim.Bir önceki mesajımda belirttiğim bir konu vardı onun düzelmediğini farkettimde.Aynı müşteri ve sipariş nosuyla kayıt girmek istendiğinde kayıtın daha önce girildiği uyarısını versin ve yinede kaydetmek istenirse eski kayıtın üzerine yazsın , kalan satırdan başlamasın.Sebebine gelince bazen siparişte düzeltme yapmak gerekiyor , böyle olunca iki kayıt girilmiş oluyor aynı müşteri ve sipariş numarasıyla yani mükerrer oluyor.
Şimdiden teşekkürler hocam.