• DİKKAT

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

vba'da dolu satırları kopyalama ve başka bir çalışma sayfasına yapıştırma işlemi hk.

Katılım
12 Şubat 2019
Mesajlar
115
Excel Vers. ve Dili
Vera. 10 Dil Türkçe
Merhaba,
çalışma sayfamda A kolonundaki dolu olan en son hücreye kadar olan bütün satırları kopyalamak istiyorum. fakat ilk satır başlık olduğu için o satırı hariç tutmak istiyorum.
VBA da bunun formülü hakkında yardımlarınızı rica ederim.
 
Merhaba

Kod:
Sub test()
    Dim Say As Integer
    Say = Cells(Rows.Count, "A").End(xlUp).Row
    Range("A2:A" & Say).Copy
End Sub
 
Merhaba

Kod:
Sub test()
    Dim Say As Integer
    Say = Cells(Rows.Count, "A").End(xlUp).Row
    Range("A2:A" & Say).Copy
End Sub
merhaba,
sadece A kolonundaki 2 ile 31. hücreler arasını kopyaladı. Benim çalışma saydam da dolu satır sayısı başlık satırı hariç bir. ama sizin gönderdiğiniz kod hem satırı kopyalamayıp a sütunundaki 2 ile 31. hücreler arasını kopyalıyor hem de yanlış verileri almış oluyor haliyle.
ana çalışma sayfamdan ziyade makro içerisindeki adresteki bir çalışma sayfası açtığım için sadece sizin koddaki
Range("A2:A" & Say).Copy kısmının başına "ActiveSheet." ekledim.
 
merhaba,
sadece A kolonundaki 2 ile 31. hücreler arasını kopyaladı. Benim çalışma saydam da dolu satır sayısı başlık satırı hariç bir. ama sizin gönderdiğiniz kod hem satırı kopyalamayıp a sütunundaki 2 ile 31. hücreler arasını kopyalıyor hem de yanlış verileri almış oluyor haliyle.
ana çalışma sayfamdan ziyade makro içerisindeki adresteki bir çalışma sayfası açtığım için sadece sizin koddaki
Range("A2:A" & Say).Copy kısmının başına "ActiveSheet." ekledim.
ANA ÇALIŞMA EXCELİMDEKİ a KOLONUNDA 31. SATIRA KADAR DOLU OLDUĞU İÇİN AKTİF EXCELİ SAYMIYOR. gİDP ANA EZXCELDEKİ DOLU KOLONU SAYIYOR. şİMDİ FARKETTİM.
 
ANA ÇALIŞMA EXCELİMDEKİ a KOLONUNDA 31. SATIRA KADAR DOLU OLDUĞU İÇİN AKTİF EXCELİ SAYMIYOR. gİDP ANA EZXCELDEKİ DOLU KOLONU SAYIYOR. şİMDİ FARKETTİM.
Merhaba

Kod:
Sub test()
    Dim Say As Integer
    Say = Cells(Rows.Count, "A").End(xlUp).Row
    Range("A2:A" & Say).Copy
End Sub
Kodu aşağıdaki gibi düzelttim ama bu seferde sadece A1 hücresini kopyalıyor.

Dim Say As Integer
Say = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
ActiveSheet.Range("A2:A" & Say).Copy
 
Şu kodu deneyin o zaman.
Koddaki sayfa Adını düzeltmeyi unutmayın.

Kod:
Sub test()
    Dim Say As Integer
    Dim Sayfa As Worksheet
    Set Sayfa = Worksheets("SayfaAdınıBurayaYazzın")
    Say = Sayfa.Cells(Sayfa.Rows.Count, "A").End(xlUp).Row
    If Say < 2 Then
        MsgBox "A kolonunda sadece başlık var hiç veri yok. Kopyalama yapılamadı.", vbCritical
        Exit Sub
    End If
    Sayfa.Range("A2:A" & Say).Copy
End Sub
 
Şu kodu deneyin o zaman.
Koddaki sayfa Adını düzeltmeyi unutmayın.

Kod:
Sub test()
    Dim Say As Integer
    Dim Sayfa As Worksheet
    Set Sayfa = Worksheets("SayfaAdınıBurayaYazzın")
    Say = Sayfa.Cells(Sayfa.Rows.Count, "A").End(xlUp).Row
    If Say < 2 Then
        MsgBox "A kolonunda sadece başlık var hiç veri yok. Kopyalama yapılamadı.", vbCritical
        Exit Sub
    End If
    Sayfa.Range("A2:A" & Say).Copy
End Sub
Merhaba, F8 ile çalıştırınca;
Set Sayfa = Worksheets("Satışlar_Hesap_Özeti.xlsx")
burada hata veriyor.
 
Set Sayfa = Worksheets("SayfaAdınıBurayaYazın")
Dosya adını yazmayın.
Eğer farklı bir dosyaya işlem yapmak istiyorsanız, aşağıdaki gibi yapın.

Set Sayfa = Workbooks("DosyaAdınıBurayaYazın.xlsx").Worksheets("SayfaAdınıBurayaYazın")
 
Kod:
Sayfa.Range("A2:A" & Say).Copy
Satırını silin aşağıdakini kopyalayın.
Kod:
Sayfa.Rows("2:" & Say).Copy
 
Kod:
Sayfa.Range("A2:A" & Say).Copy
Satırını silin aşağıdakini kopyalayın.
Kod:
Sayfa.Rows("2:" & Say).Copy
Çok teşekkür ederim. Sonunda oldu :)
Ama sizden bir ricam daha var. Şimdi benim burdan kopyaladığım alanı saha_satış_toplamı diye bir excel dosyam var. O zaten açık şu anda makronun önceki bölümlerinde açmıştım bu dosyayı. Şimdi bu kopyaladığım alanı saha_satış_toplamı çalışma dosyamın dolu olan son satırından sonraki boş satırdan başlayarak kopyalam.
Bu konuda da bana destek olursdanız çok sevinirim.
 
Çok teşekkür ederim. Sonunda oldu :)
Ama sizden bir ricam daha var. Şimdi benim burdan kopyaladığım alanı saha_satış_toplamı diye bir excel dosyam var. O zaten açık şu anda makronun önceki bölümlerinde açmıştım bu dosyayı. Şimdi bu kopyaladığım alanı saha_satış_toplamı çalışma dosyamın dolu olan son satırından sonraki boş satırdan başlayarak kopyalam.
Bu konuda da bana destek olursdanız çok sevinirim.
aslında şukadaranı yazdım kodun. ama ben son hücreye iniyorum. son dolu hücreden sonraki boş hücreyi nasıl seçeceğim konusunda yardımcı olursanız sevinirim.
Workbooks("saha_satış_toplamı.xlsx").Activate
ActiveSheet.Range("A1").Select
Selection.End(xlDown).Select
 
aslında şukadaranı yazdım kodun. ama ben son hücreye iniyorum. son dolu hücreden sonraki boş hücreyi nasıl seçeceğim konusunda yardımcı olursanız sevinirim.
Workbooks("saha_satış_toplamı.xlsx").Activate
ActiveSheet.Range("A1").Select
Selection.End(xlDown).Select
problemi çözdüm çok teşekkür ederim yardımlarınız için.
 
Muzaffer Ali bey

Dış dosyadan bilgi kopyalayıp veri alıyorum verileri alırken formülleri kullanıyorum. Formda sizin kodunuzu buldum fakat formülleri de dolu görüyor.

Benim istediğim (örnek dosyadaki gibi) “BG” Kolonunu rakamsa “BI” Kolonundan “BS” kolonuna kadar kopyala yapıp(Örnek= sayfa 5 de BI3:BS3 kadar kopyalayıp Mut sayfasına b2 hücresinden kopyalamayacak) mut sayfasındaki ilk boş satıra kopyalamasını nasıl sağlayabilirim. Yardımcı olursanız sevinirim
 

Ekli dosyalar

Geri
Üst