- Katılım
- 19 Mayıs 2007
- Mesajlar
- 44
- Excel Vers. ve Dili
- excel 2003 tr
sayın kardeşlerim;
benim sorunum 2 ayrı sayfalardaki ürün adları aynı fakat ürün numaları faklı formatt olan ürünleri birleştirmek.kısacası 1 adet sabit stok formatım var(ekteki dosyada 31 temmuz olarak geçiyo),1 adet'de programdan aldığım o günki stok tablosu var(ek'te sayfa1),stok tablosundaki ürünlerin miktarlarının stok formatındaki ürünlerin stok bölümüne işlenmesini istiyorum.bende bir makro çalışması var o şekilde aktaran.ama ürün numaralarını değiştirmiyo.yardımcı olursanız sevinirim.ayarlanacak çalışma ek'tedir.şu ankullandığımıda buraya yazayım
Sub aktar()
Set s1 = Sheets("11")
Set s2 = ActiveSheet
son = s2.[a65536].End(3).Row
dizi = s2.Range("a2:d" & son)
s1.Select
basla:
sut = Val(InputBox("Aktarılacak sütun numarasını girin " & vbCr & "K sütunu için : 11" & vbCr & "L sütunu için : 12 " & vbCr & "M sütunu için : 13" & vbCr & "N sütunu için : 14"))
If sut < 11 Or sut > 14 Then
If vbNo = MsgBox("Hatalı sütun numarası girdiniz. Tekrar Deneyin. İşlemden vazgeçmek için No ya basınız.", vbYesNo) Then Exit Sub
GoTo basla
End If
son2 = s1.[b65536].End(3).Row
For x = 10 To son2
If Cells(x, "B") <> "" Then
Cells(x, sut) = ""
For y = 1 To UBound(dizi)
If Cells(x, 2) <> "" And Cells(x, 2) = dizi(y, 1) Then
Cells(x, sut) = dizi(y, 4)
dizi(y, 2) = ""
Exit For
End If
Next y
End If
Next x
'Yazılmayanları işaretle
s2.Select
Range("a2:d" & son).Interior.Color = xlAutomatic
For y = 1 To UBound(dizi)
If dizi(y, 2) <> "" Then
Range("a" & y + 1 & ":d" & y + 1).Interior.Color = vbYellow
toplam = toplam + dizi(y, 4)
say = say + 1
End If
Next y
Erase dizi
If say = 0 Then
msg = "Tüm ürünler aktarıldı"
Else
msg = say & " çeşit ürün aktarılamadı." & vbCr & "Aktarılamayan ürün miktar toplamı:" & toplam
End If
MsgBox msg
End Sub
benim sorunum 2 ayrı sayfalardaki ürün adları aynı fakat ürün numaları faklı formatt olan ürünleri birleştirmek.kısacası 1 adet sabit stok formatım var(ekteki dosyada 31 temmuz olarak geçiyo),1 adet'de programdan aldığım o günki stok tablosu var(ek'te sayfa1),stok tablosundaki ürünlerin miktarlarının stok formatındaki ürünlerin stok bölümüne işlenmesini istiyorum.bende bir makro çalışması var o şekilde aktaran.ama ürün numaralarını değiştirmiyo.yardımcı olursanız sevinirim.ayarlanacak çalışma ek'tedir.şu ankullandığımıda buraya yazayım
Sub aktar()
Set s1 = Sheets("11")
Set s2 = ActiveSheet
son = s2.[a65536].End(3).Row
dizi = s2.Range("a2:d" & son)
s1.Select
basla:
sut = Val(InputBox("Aktarılacak sütun numarasını girin " & vbCr & "K sütunu için : 11" & vbCr & "L sütunu için : 12 " & vbCr & "M sütunu için : 13" & vbCr & "N sütunu için : 14"))
If sut < 11 Or sut > 14 Then
If vbNo = MsgBox("Hatalı sütun numarası girdiniz. Tekrar Deneyin. İşlemden vazgeçmek için No ya basınız.", vbYesNo) Then Exit Sub
GoTo basla
End If
son2 = s1.[b65536].End(3).Row
For x = 10 To son2
If Cells(x, "B") <> "" Then
Cells(x, sut) = ""
For y = 1 To UBound(dizi)
If Cells(x, 2) <> "" And Cells(x, 2) = dizi(y, 1) Then
Cells(x, sut) = dizi(y, 4)
dizi(y, 2) = ""
Exit For
End If
Next y
End If
Next x
'Yazılmayanları işaretle
s2.Select
Range("a2:d" & son).Interior.Color = xlAutomatic
For y = 1 To UBound(dizi)
If dizi(y, 2) <> "" Then
Range("a" & y + 1 & ":d" & y + 1).Interior.Color = vbYellow
toplam = toplam + dizi(y, 4)
say = say + 1
End If
Next y
Erase dizi
If say = 0 Then
msg = "Tüm ürünler aktarıldı"
Else
msg = say & " çeşit ürün aktarılamadı." & vbCr & "Aktarılamayan ürün miktar toplamı:" & toplam
End If
MsgBox msg
End Sub