Dolu Hücreleri Kopyalamak

Katılım
1 Kasım 2017
Mesajlar
118
Excel Vers. ve Dili
excel 2016 İngilizce
Altın Üyelik Bitiş Tarihi
02/11/2022
Kolay gelsin;

Sheet1 de C4 hücresinden başlayıp C16 hücresinde biten bir excelde dolu olan hücrelerin tüm satırlarını kopyalayıp Sheet2 B4 hücresine kapyalamam mümkünmüdür. ve her kopyalamak istediğimde yeni kayıtlar yukarıda kalsın
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

C4:C16 aralığını seçin;
F5/özel/sabitlet/tamam bu işlemden sonra sadece dolu hücreler seçilir. Seçili alanın herhangi bir bölüme fare ile kopyala yaptıktan sonra istediğiniz bölüme yapıştırma işlemini yapabilirsiniz.

.
 
Katılım
1 Kasım 2017
Mesajlar
118
Excel Vers. ve Dili
excel 2016 İngilizce
Altın Üyelik Bitiş Tarihi
02/11/2022
VBA ile Hocam anlatamadım herhalde kusurabakmayın Sheet1 de C4:AA16' ya kadar bir tablom mevcut ben Sheet1 de C4 te kaç tana dolu hücre varsa bulunmasını ve dolu hücrelerin satırlarının Sheet2 de C4:AA16 kadar olan bir tablonun C4 ten başyarak yapıştırmasını istiorum mümkünmüdür.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,372
Excel Vers. ve Dili
Ofis 365 Türkçe
VBA ile Hocam anlatamadım herhalde kusurabakmayın Sheet1 de C4:AA16' ya kadar bir tablom mevcut ben Sheet1 de C4 te kaç tana dolu hücre varsa bulunmasını ve dolu hücrelerin satırlarının Sheet2 de C4:AA16 kadar olan bir tablonun C4 ten başyarak yapıştırmasını istiorum mümkünmüdür.
Ömer Bey'in söylediği işlemleri Makro Kaydet ile yaparsanız Makro kodlarını bulursunuz.
Sonra biraz sadeleştirme yaparsanız aşağıdaki kodlara erişirsiniz.

Kod:
Sub Makro1()

    Sheets("Sayfa1").Range("C4:C16").SpecialCells(xlCellTypeConstants, 23).Copy Sheets("Sayfa2").Range("B4")
    
End Sub
 
Katılım
1 Kasım 2017
Mesajlar
118
Excel Vers. ve Dili
excel 2016 İngilizce
Altın Üyelik Bitiş Tarihi
02/11/2022
olmadı hocam malesef satırın hepsini kopyalamıyor yaptığınız kod tüm işareti alıyor ben sadece dolu olan satırı almasını istemiştim. mümkün deilmi
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,372
Excel Vers. ve Dili
Ofis 365 Türkçe
Dosyayı görmek gerek. Kodları deneyerek verdim. Olmadı deyip kestirip atmak olmaz.
 
Katılım
18 Ocak 2020
Mesajlar
1
Excel Vers. ve Dili
Office2013
Hocam hücrelerimde formül var ve dosyanın boyutunu arttırıyor. Hücrelerim dolu ise dolu hücreleri kopyalayıp aynı hücrelere metin olarak yapıştırmak istiyorum ve bunu sürekli olmasını istiyorum. Bunun için bir makro varmıdır?
teşekürler
 
Katılım
27 Eylül 2007
Mesajlar
20
Excel Vers. ve Dili
Excel xp
Altın Üyelik Bitiş Tarihi
22/12/2018
Merhaba

Benim ayın günlerine karşılık gelen 31 sayfadan oluşan bir çalışma kitabım var. Sayfa isimleri 01, 02, 03 , 04...........10, 11, 12,......30, 31 şeklinde. Oluşturduğum ÖZET sayfasına yukarıdaki kodu kullanarak diğer sayfalardan veri çekebiliyorum. Ancak veri aralığındaki bazı satırlar boş olabildiği gibi Pazar gününe denk gelen sayfalarda da veri olmuyor. Bu durumda hata mesajı alıyorum.

Aralıkta boş satır var ise hata vermeden devam etmesini nasıl sağlarım. Aynı şekilde Pazar günleri hiç veri olmadığı için de sorun oluyor.

Yardımlarınız için şimdiden teşekkürler

Sub makro2()
Sheets("01").Range("b5:b16").SpecialCells(xlCellTypeConstants, 2).Copy Sheets("ÖZET").[A65000].End(xlUp).Offset(1, 0)
Sheets("02").Range("b5:b16").SpecialCells(xlCellTypeConstants, 2).Copy Sheets("ÖZET").[A65000].End(xlUp).Offset(1, 0)
Sheets("03").Range("b5:b16").SpecialCells(xlCellTypeConstants, 2).Copy Sheets("ÖZET").[A65000].End(xlUp).Offset(1, 0)
Sheets("04").Range("b5:b16").SpecialCells(xlCellTypeConstants, 2).Copy Sheets("ÖZET").[A65000].End(xlUp).Offset(1, 0)
End Sub
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Sub makro2() satırından sonra;
On Error Resume Next
satırını ekleyebilirsiniz.

Yada aşağıdaki gibi yazarak if şartı ile ve tüm sayfaları tek tek yazmak yerine döngü ile işlemi sürdürebilirsiniz.
Kod:
Sub test()
    
    Dim i As Byte, syf As Worksheet
    
    For i = 1 To 31
        Set syf = Sheets(Format(i, "00"))
        If WorksheetFunction.CountA(syf.Range("B5:B16")) > 0 Then
            syf.Range("B5:B16").SpecialCells(xlCellTypeConstants, 23).Copy Sheets("ÖZET").[A65000].End(xlUp).Offset(1, 0)
        End If
    Next i
    
End Sub
 
Katılım
27 Eylül 2007
Mesajlar
20
Excel Vers. ve Dili
Excel xp
Altın Üyelik Bitiş Tarihi
22/12/2018
Merhaba,

Sub makro2() satırından sonra;
On Error Resume Next
satırını ekleyebilirsiniz.

Yada aşağıdaki gibi yazarak if şartı ile ve tüm sayfaları tek tek yazmak yerine döngü ile işlemi sürdürebilirsiniz.
Kod:
Sub test()
   
    Dim i As Byte, syf As Worksheet
   
    For i = 1 To 31
        Set syf = Sheets(Format(i, "00"))
        If WorksheetFunction.CountA(syf.Range("B5:B16")) > 0 Then
            syf.Range("B5:B16").SpecialCells(xlCellTypeConstants, 23).Copy Sheets("ÖZET").[A65000].End(xlUp).Offset(1, 0)
        End If
    Next i
   
End Sub
Emeğinize sağlık. Teşekkür ederim.

B5:B16 aralığını A5:A16 olarak değiştirdiğimde şu hatayı veriyor : "Application-defined or object-defined eror"

A sütununda tarih var. Hatanın nedeni bu olabilir mi?

Not : Sanırım benim dosya ekleme hakkım yok veya ben yapamadım.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Altın üyelerin dosya ekleme, indirme hakkı var. Tavsiye ederim.

Sayfa adları değişti mi?
Aşağıdaki linke ekleyip paylaşınız.


.
 
Katılım
27 Eylül 2007
Mesajlar
20
Excel Vers. ve Dili
Excel xp
Altın Üyelik Bitiş Tarihi
22/12/2018
Altın üyelerin dosya ekleme, indirme hakkı var. Tavsiye ederim.

Sayfa adları değişti mi?
Aşağıdaki linke ekleyip paylaşınız.


.
Dosya linki :

Amacım hergüne ait sayfadan istediğim verileri çekip özet sayfasına yazdırmak. Hergüne ait sayfadaki bilgiler alfabetik değil ve bazen aralarında boş satırlar olabiliyor.
 
Katılım
27 Eylül 2007
Mesajlar
20
Excel Vers. ve Dili
Excel xp
Altın Üyelik Bitiş Tarihi
22/12/2018
Altın üyelerin dosya ekleme, indirme hakkı var. Tavsiye ederim.

Sayfa adları değişti mi?
Aşağıdaki linke ekleyip paylaşınız.


.
Sorun tarihleri formül kullanarak yazdırmamdan kaynaklanıyormuş. Ancak hergüne ait sayfalarda tarih ve diğer bazı sütunlarda formül kullanacağım. Bu formüllerin veri kopyalama işlemine engel olmaması için kodu nasıl yazmalıyım?
 
Üst