• DİKKAT

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

açılır pencerede düşeyara

Katılım
5 Eylül 2007
Mesajlar
1,247
Excel Vers. ve Dili
ofis 2010
Merhaba; A1 satırına 100 adet ad tanımlı açılır liste var. listeden seçtiğim ürünün M1 ve L1 satırında formül sonucu oluşan adet ve fiyat mevcut. A1 açılır listeden seçtiğim her ürün için (formüllü) M1 ve L1 De oluşan değerleri başka bir sayfaya liste olarak oluşturmam mümkün müdür.
A1 Liste.................... M1 satırı.......L1 satırı
açılır liste

sayfa 1 de ilgili ürün kodları mevcut onların karşısına sayfa 1 de oluşan kalan mal ve maliyet (sayfa 1 de M1 ve L1 de oluşan değerleri düşeyara veya makro ile sayfa 2' ye taşımak istiyorum. kalan mal ve maliyet M1 ve L1 satırında oluştuğu için açılır listeden ürünleri tek tek seçerek sayfa 2 ye getiremiyorum.
sayfa 2
Ürün Kod.................... M1 satırı.......L1 satırı
kod-1.......................... 2..................12
kod-2.......................... 5..................14
...../......................... ..../.......................
sayfa 2 de açılır listede mevcut ürün kodları var. ürün değiştikçe M1 ve L1 de ilgili ürünün kalan adet ve maliyeti oluşuyor.
 
Son düzenleme:
Merhaba;
Dosyanızda hareket sekmesindeki formüller sildiğiniz bir sayfadan veri alıyor.
Sayfa2 diye bir sayfa yok ortada...
Dolayısıyla ortada ne veri kalmış nede çözülecek sorun.
İyi çalışmalar.
 
Sayfa silinmesi

soruyu sorarken sayfa2 tabirini misal olarak kullandım, benim sorunum örnekteki hareket sekmesindeki A1 satırındaki açılır listeden ürün seçtikçe L1 ve M1 de oluşan değerleri başka bir sayfaya yani A1 açılır pencerenin listesini teşkil eden URUN_LIST teki sekmeye getirmek istiyorum.
 
HAREKET sayfasının kod bölümüne;

Sub aktarr()
Application.ScreenUpdating = False
On Error Resume Next
Set s1 = ThisWorkbook.Worksheets("HAREKET")
Set s2 = ThisWorkbook.Worksheets("URUN_LISTE")
For i = 2 To s2.Range("A65536").End(xlUp).Row
If s2.Cells(i, 1) = s1.Cells(1, 1) Then

s2.Cells(i, 2) = s2.Cells(i, 2) + s1.Cells(1, "l")
s2.Cells(i, 3) = s2.Cells(i, 3) + s1.Cells(1, "m")
End If
Next i
Application.ScreenUpdating = True
MsgBox "İşlem TAMAM.", vbInformation
End Sub

Kodlarını ekleyerek bir butona bağlayın.
 
vb kod

gönderdiğiniz kodu yazıp çalıştırdım ama açılır listedeki seçili olanı aktarıyor, onun dışındakileri (54 değişik kod var)aktarmıyor, her seferinde tek tek seçerek mi makroyu çalıştıracağız, tek seferde aktarmak mümkün olmuyor mu?
 
Bu şekilde deneyin.

Sub aktarr()
Application.ScreenUpdating = False
On Error Resume Next
Set s1 = ThisWorkbook.Worksheets("HAREKET")
Set s2 = ThisWorkbook.Worksheets("URUN_LISTE")
For i = 2 To s2.Range("A65536").End(xlUp).Row
s1.Cells(1, 1) = s2.Cells(i, 1)

s2.Cells(i, 2) = s2.Cells(i, 2) + s1.Cells(1, "l")
s2.Cells(i, 3) = s2.Cells(i, 3) + s1.Cells(1, "m")

Next i
Application.ScreenUpdating = True
MsgBox "İşlem TAMAM.", vbInformation
End Sub
 
vb kod

teşekkürler , istediğim gibi olmuş
epey meşgul ettim sizi; bu makroyu değişik işlemde kullanabilir ama oluşan değeri ikinci sütuna değilde 3 sütuna kopyalamak istesek kodun hangisini değiştirmemiz gerekir, bir ara cevap verebilirseniz memnun olurum.
 
Merhaba;

Kodlardaki;

s2.Cells(i, 2) = s2.Cells(i, 2)

(i, 2) alanındaki 2 olan sütun sayısıdır. (3 yaparsanız veriyi 3. sütuna taşımış olursunuz.)

İyi çalışmalar.
 
Geri
Üst