• DİKKAT

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

Sayfalar arası veri aktarı (yardım)

Katılım
24 Kasım 2007
Mesajlar
769
Excel Vers. ve Dili
Office 365 - Türkçe
Merhaba

Liste,eses,brs isimli sayfalarım var. Liste sayfasından diğer iki sayfaya veri aktarıyorum. Lakin takıldığım nokta var, yardımcı olurmusunuz

1) Örneğin Aktar makrosunu çalıştırarak liste sayfasındaki verileri diğer sayfalara ekledik. Sonra liste sayfasındaki verilerden herhangi birini değiştirdik. aktar makrosunu tekrar çalıştırdığımızda ;

Sanki yeni bir satırmış gibi dolu hücrenin altına değişlik yaptığımız satırı ekliyor. Oysaki ben böyle durumlarda eklemesini değil, var olanı güncellemesini istiyorum
 

Ekli dosyalar

Son düzenleme:
Merhaba

Liste,eses,brs isimli sayfalarım var. Liste sayfasından diğer iki sayfaya veri aktarıyorum. Lakin takıldığım nokta var, yardımcı olurmusunuz

1) Örneğin Aktar makrosunu çalıştırarak liste sayfasındaki verileri diğer sayfalara ekledik. Sonra liste sayfasındaki verilerden herhangi birini değiştirdik. aktar makrosunu tekrar çalıştırdığımızda ;

Sanki yeni bir satırmış gibi dolu hücrenin altına değişlik yaptığımız satırı ekliyor. Oysaki ben böyle durumlarda eklemesini değil, var olanı güncellemesini istiyorum

kod:

Kod:
Sub aktar()

Set S1 = ThisWorkbook.Worksheets("liste")
For i = 2 To S1.Range("a65536").End(xlUp).Row
Set S2 = ThisWorkbook.Worksheets(S1.Cells(i, 5).Value)

aranan1 = S1.Cells(i, 1)
aranan2 = S1.Cells(i, 2)

sat = 0

For Each bul In S2.Range("F5:G500")

If bul = aranan1 Then
sat1 = bul.Row
bulunan1 = S2.Cells(sat1, "f").Value
bulunan2 = S2.Cells(sat1, "g").Value

If aranan1 = bulunan1 And aranan2 = bulunan2 Then
sat = 1
S2.Cells(sat1, 6) = S1.Cells(i, 1)
S2.Cells(sat1, 7) = S1.Cells(i, 2)
S2.Cells(sat1, 8) = S1.Cells(i, 3)
S2.Cells(sat1, 9) = S1.Cells(i, 4)
S2.Cells(sat1, 10) = S1.Cells(i, 5)
Exit For
End If

End If

Next

If sat = 0 Then
sonsatir = S2.Range("f65536").End(xlUp).Row + 1
S2.Cells(sonsatir, 6) = S1.Cells(i, 1)
S2.Cells(sonsatir, 7) = S1.Cells(i, 2)
S2.Cells(sonsatir, 8) = S1.Cells(i, 3)
S2.Cells(sonsatir, 9) = S1.Cells(i, 4)
S2.Cells(sonsatir, 10) = S1.Cells(i, 5)
End If
Set S2 = Nothing
Next i
MsgBox "Aktarma İşlemi BİTTİ.", vbInformation
End Sub
 
Meraba arkadaşlar belki konu ile ilgili yanlış yere yazıyorum fakat. Ben bir sayfa oluşturmak istiyorum ve ana sayfaya oluşturmuş oldugum listedeki verileri girdiğimde kime aitse ahmet mehmet hasan o sayfalara otamatik olarak aktarmasını istiyorum. Bu konuda yardım edebilirmisiniz.
 
Halit bey teşekkür ediyorum. kod süper çalışyor. sadece öğrenme amacı ile ;

Kod:
aranan1 = S1.Cells(i, 1)
aranan2 = S1.Cells(i, 2)

For Each bul In S2.Range("F5:G500")
If bul = aranan1 Then
sat1 = bul.Row
bulunan1 = S2.Cells(sat1, "f").Value
bulunan2 = S2.Cells(sat1, "g").Value
If aranan1 = bulunan1 And aranan2 = bulunan2 Then
sat = 1

1) aranan1 aranan2 kodları neyi ifade ediyor. aranan3,4,5 olabilirmi?
2) örneğin ben liste sayfasında D sutununda değişklik yaptım. Diğer sayfalarda ona karşılk gelen I sutunu olmasına rağmen kod süper çalışıyor F5:G500 amacı ne o zaman
 
Halit bey teşekkür ediyorum. kod süper çalışyor. sadece öğrenme amacı ile ;

Kod:
aranan1 = S1.Cells(i, 1)
aranan2 = S1.Cells(i, 2)

For Each bul In S2.Range("F5:G500")
If bul = aranan1 Then
sat1 = bul.Row
bulunan1 = S2.Cells(sat1, "f").Value
bulunan2 = S2.Cells(sat1, "g").Value
If aranan1 = bulunan1 And aranan2 = bulunan2 Then
sat = 1

1) aranan1 aranan2 kodları neyi ifade ediyor. aranan3,4,5 olabilirmi?
2) örneğin ben liste sayfasında D sutununda değişklik yaptım. Diğer sayfalarda ona karşılk gelen I sutunu olmasına rağmen kod süper çalışıyor F5:G500 amacı ne o zaman


aranan1 = S1.Cells(i, 1) Liste sayfasındaki A sütunundaki değer
aranan2 = S1.Cells(i, 2) Liste sayfasındaki B sütunundaki değer

For Each bul In S2.Range("F5:G500") Tanımlı sayfalardaki ilgili hücreler burada arama yaparak eğer eski veri varsa üstüne yazdırıyoruz.
 
Geri
Üst