• DİKKAT

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

Makro ile verilerin otomatik kopyalanması.

Katılım
17 Ekim 2011
Mesajlar
490
Excel Vers. ve Dili
Excel 2003 - Türkçe
Merhabalar.

Ekli dosyamda da izah ettiğim üzere;

Kitabımızın ilk sayfasındaki verileri belirli kriterler çerçevesinde aynı kitabın farklı sayfalarına
kopyalayacağız. Bu dosya üzerinde yaklaşık bir aydır uğraşıyorum. Konu ile alakalı 2 kez başlık açtım.
Yaşadığım elim bir olay sebebiyle vede dosyamdaki izahat eksikliği ile konuyu neticelendiremedim.
inşallah bu kez muvaffak olacağım.

Müsait zamanlarında değerli üstadların yardımlarını bekliyorum.

saygılarımla.
 
Son düzenleme:
Sorunuzu bu kadar uzun sorarsanız cevap bulmanız zorlaşır, daha kısa sorun, parçaları birleştirin.
 
Sayın Hamitcan

öncelikle alakanız için teşekkür ederim.

Daha önceki başlıklarımda açıklamanızda detay yok denilmişti.
Bende buna istinaden uzun uzun yazdım herşeyi.

Vallahi ne yapacağımı şaşırmış durumdayım şu anda :(
 
Demek istediğim, sorunuzu kısım kısım somanız.
 
kitabımızın ilk sayfasında

C ve E sütunlarında
Karanfil Gül yada Gül Karanfil var ise ilgili satırı "Karanfil Gül" sayfasına
Menekşe Sümbül yada Sümbül Menekşe var ise iligili satırı "Menekşe Sümbül" sayfasına
Papatya Lale yada Lale Papatya var ise iligili satırı "Papatya Lale" sayfasına
taşımayı K hücresine veri girişinden sonra Enter tuşu tetikleyecek. K hücresi boş ise taşıma yapılmayacak.

Taşınan veriler ilgili sayfanın 8. satırından başlayacak. Eğer ilgili satır dolu ise bir alta yazacak.
Birde taşınan veriler taşındığı sayfada farklı hücrelere yazılacak. Ekte şablonda belirttim. Hangi veri nereye yazılacak diye.
 
Bu şekilde deneyin.
Kod:
Sub Aktar()
    Sheets("Karanfil Gül sayfası").Columns("i:q").ClearContents
    Sheets("Menekşe Sümbül sayfası").Columns("i:q").ClearContents
    Sheets("Papatya Lale sayfası").Columns("i:q").ClearContents
    
    For i = 11 To 32
    x = Trim(Cells(i, 3) & Cells(i, 5))
    If x = "KARANFİLGÜL" Then
    Sayfa = "Karanfil Gül sayfası"
    GoTo 10
    ElseIf x = "GÜLKARANFİL" Then
    Sayfa = "Karanfil Gül sayfası"
    GoTo 10
    
    ElseIf x = "MENEKŞESÜMBÜL" Then
    Sayfa = "Menekşe Sümbül sayfası"
    GoTo 10
    
    ElseIf x = "SÜMBÜLMENEKŞE" Then
    Sayfa = "Menekşe Sümbül sayfası"
    GoTo 10
    ElseIf x = "PAPATYALALE" Then
    Sayfa = "Papatya Lale sayfası"
    GoTo 10
    
    ElseIf x = "LALEPAPATYA" Then
    Sayfa = "Papatya Lale sayfası"
    GoTo 10
    Else
    GoTo 20
    End If
10
    s = Sheets(Sayfa).[i65536].End(3).Row + 1
    Sheets(Sayfa).Cells(s, "i") = Sheets("Veri Sayfası").Cells(i, "i")
    Sheets(Sayfa).Cells(s, "j") = Sheets("Veri Sayfası").Cells(i, "d")
    Sheets(Sayfa).Cells(s, "k") = Sheets("Veri Sayfası").Cells(i, "c")
    Sheets(Sayfa).Cells(s, "l") = Sheets("Veri Sayfası").Cells(i, "g")
    Sheets(Sayfa).Cells(s, "m") = Sheets("Veri Sayfası").Cells(i, "h")
    Sheets(Sayfa).Cells(s, "n") = Sheets("Veri Sayfası").Cells(i, "i")
    Sheets(Sayfa).Cells(s, "o") = Sheets("Veri Sayfası").Cells(i, "j")
    Sheets(Sayfa).Cells(s, "p") = Sheets("Veri Sayfası").Cells(i, "k")
    Sheets(Sayfa).Cells(s, "q") = Sheets("Veri Sayfası").Cells(i, "e")
    
    Sayfa = ""
    
20
    Next
    MsgBox "Bitti."
End Sub
 
Sayın Hamit Bey.

çok teşekkür ederim. emeğinize sağlık.
Lakin ben makroyu çalıştıramadım.
Herhangi bir hata mesajıda almadım.

ne yapmalıyım acaba?
 
Sayın Hamitcan;

Emeğiniz için çok teşekkür ederim.

Kopyalanarak taşınan veriler taşındığı sayfada 8. satırdan itibaren yazılacaktı. Bu gözden kaçtı sanırım.
Birde şu var: Bir veri gönderdik diyelim. Aynı sayfaya başka bir veri daha gittiğinde eskisini siliyor.
bunları düzeletebilirseniz çok sevinirim.

Birazda makro hakkında detay istiyorum.
End 3 derken buradaki 3 sayısı 3 adet kopyalanacak sayfamız olduğu anlamınamı geliyor?
10 ve 20 rakamları neyi ifade ediyor.

Bunları sormamdaki amaç. Örnekteki sayfa veri sayfası hariç 3 tane idi. Ben bunları duruma göre
çoğaltacağım. Herhangi bir hataya mahal vermemek amacındayım.

saygılarımla.
 
up

Sn Hamitcan sürekli online olamıyor sanırım.
Konuya hakim arkadaşlarında yardımlarını bekliyorum.
 
Tekrardan Merhabalar

Değerli uzman arkadaşlar
8. Nolu mesajda Hamit bey tarafından hazırlanmış makromuza küçük
bir ilave lazım.

Veri Sayfasındaki listeye yeni eklemeler yapıp makroyu çalıştırdığım zaman
yeni verileri eskilerinin üzerine yazıyor. Yani eskileri siliyor.

Lütfen konuya hakim olan beyler yardımlarını esirgemesin.

saygılarımla.
 
10 ve 20 rakamları neyi ifade ediyor.
Döngü içinde bir şart gerçekleştiğinde kodun belli bir bölümüne gitmek için kullandım. Bu da döngünün fazladan dönmesini engelliyor.
 
Birde şu var: Bir veri gönderdik diyelim. Aynı sayfaya başka bir veri daha gittiğinde eskisini siliyor.
bunları düzeletebilirseniz çok sevinirim.
ClearContents yazan satırları silerek tekrar deneyin.


Son soruyu yarın yanıtlarım artık.
 
ClearContents yazan satırları silerek tekrar deneyin.

Sayın Hamitcan

Üstte belirttiğiniz kısmı sildim ve bu sorun halloldu.

Sizden alıntı : For döngüsünden önce s= 7 satırını ekleyin.

s=7 kısmını ilave ettim. 8. satırdan yazdırdım lakin veriler arasında boşluklar oluştu.
sanırım tam yerini bilemedim. Ve ilave ettiğim kısmı geri sildim.
Diğer detaylar içinde teşekkür ederim ayrıca.
Bunların ışığında

aşağıda belirttiğim düzeltme ve ilaveleri istemekteyim.

Düzeltme : Kopyalanan verilerimiz aktarıldığı sayfaya 8. satırdan itibaren yazılacak.

İlave : Kopyalanacak veri satırının H hücresi boş ise kopyalama yapılmayacak.

Düzeltme : Makro her çalışmasında önceki verileri tekrardan kopyalıyor.
1 satır veri gitti diyelim. Listeye başka bir veri ilave edip bu veriyi gönderdiğimde
daha önceden giden veriler tekrar gidiyor.

Dosya üzerinde görmek istersiniz diye düzenlediğim dosyayı son şekli ile tekrardan yükledim.

Müsait olduğunuzda ilgilenirseniz müteşekkir olurum.

saygılarımla.
 

Ekli dosyalar

Çok teşekkür ederim
Hüseyin Bey.

Dosyamızın eksikliği giderilmiş oldu.
Ellerinize sağlık.
 
Geri
Üst