• DİKKAT

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

Hücre kopyalama makrosu

  • Konbuyu başlatan Konbuyu başlatan s.savas
  • Başlangıç tarihi Başlangıç tarihi
Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
İyi akşamlar arkadaşlar.
Aşağıdaki kod, sayfa5 deki A3:G aralığını Sayfa3'e A10 hücresinden itibaren kopyalamaktadır. Ancak yeni verileri kopyalarken sürekli aynı aralığa kopyalamaktadır.
Kod:
Sayfa5.Range("a3:g" & Sayfa5.Range("g65536").End(3).Row).Copy Sayfa3.Range("a10")
Bu makroyu yeni verileri silmeden son dolu satırdan kopyalamaya devam edecek şekilde düzenleme yapabilirmiyiz.
 
Merhaba,
İsteğinizin cevabı bu:
Kod:
Sayfa5.Range("a3:g" & Sayfa5.Range("b65536").End(3).Row).Copy Sayfa3.Cells(Sayfa3.[a65536].end(3).Row+1,"a")
Daha kesin cevap için örnek dosya ekleyiniz.
 
Son düzenleme:
Merhaba arkadaşlar, kod ekli dosyada CheckBox1 de tanımlıdır. İlgilerinize teşekkür ederim.
 

Ekli dosyalar

Merhaba,
İsteğinizin cevabı bu:
Kod:
Sayfa5.Range("a3:g" & Sayfa5.Range("g65536").End(3).Row).Copy Sayfa3.Cells(Sayfa3.[a65536].end(3).Row+1,"a")
Daha kesin cevap için örnek dosya ekleyiniz.

Mustafa hocam yazdığınız kod, arzu edilen işlevi tam anlamı ile karşılıyor.
Teşekkür ederim.
Aşağıdaki CommandButton1 için tanımlanan kod içinde çözüm önerisi getirirseniz memnun olurum.
Kod:
If sh.Range("A3").Value <> ComboBox1.Text Then sh.Range("A5:G65536").[COLOR="Red"][U]ClearContents[/U][/COLOR]
Altı çizili kod A5:G aralığındaki verileri temizliyor, ancak hücrelerdeki çerçeve çizgilerini temizlemiyor.
Yukarıdaki kodu çerçeve çizgilerini de temizleyecek şekilde düzenleyebilirmisiniz.
 
Merhaba,
Kod:
If sh.Range("A3").Value <> ComboBox1.Text Then sh.Range("A5:G65536").[COLOR="DarkRed"]Clear[/COLOR]
Bu arada bir önceki kodu güncelledim. [g65536] yerine [b65536] yaptım. Önceki toplamları da aktarıyordu.
 
Merhaba,
Kod:
If sh.Range("A3").Value <> ComboBox1.Text Then sh.Range("A5:G65536").[COLOR="DarkRed"]Clear[/COLOR]
Bu arada bir önceki kodu güncelledim. [g65536] yerine [b65536] yaptım. Önceki toplamları da aktarıyordu.

Hocam teşekkür ederim.
Aslında önceki toplamlarında aktarılması gerekiyor.

Kodu tekrar
Kod:
Sayfa5.Range("a3:g" & Sayfa5.Range("g65536").End(3).Row).Copy Sayfa3.Cells(Sayfa3.[a65536].end(3).Row+1,"a")
yapıyorum, fakat sayfa3'e kopyalanırken bir önceki kopyalanan verinin son satırında E:G aralığında bulunan TOPLAM satırı siliniyor.Yani kopyalanan veri olduğu gibi korunup, yeni veri son satırdan itibaren kopyalanması gerekiyor.
 
Son düzenleme:
Hocam teşekkür ederim.
Aslında önceki toplamlarında aktarılması gerekiyor.
O zaman aşağıdaki gibi kullanmalısınız.
Kod:
Sayfa5.Range("a3:g" & Sayfa5.Range("g65536").End(3).Row).Copy Sayfa3.Cells(Sayfa3.[g65536].end(3).Row+1,"a")
 
Hocam Sayfa3'e kopyalanan verileri 10.satırdan itibaren kopyalanmasını sabitleyemedim.
 
Hocam Sayfa3'e kopyalanan verileri 10.satırdan itibaren kopyalanmasını sabitleyemedim.
Kodu aşağıdaki gibi kullanın.
Kod:
Sat = Sayfa3.[g65536].end(3).Row+1
If Sat < 10 Then Sat = 10
Sayfa5.Range("a3:g" & Sayfa5.Range("g65536").End(3).Row).Copy Sayfa3.Cells(Sat,"a")
 
Geri
Üst