Sütundaki dolu hücre seçimi

Katılım
26 Eylül 2021
Mesajlar
52
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
12.10.2022
Herkese selamlar,

Örneğin "G10:G17" sütunundaki dolu olan hücrelerin satırlarının "D10:D17" sütunundaki verilerini, "B4" sütununa arada boşluk olmayacak şekilde yazdırmak için
nasıl bir makro gerekir.
 
Katılım
26 Eylül 2021
Mesajlar
52
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
12.10.2022
"D10:D17" sütun aralığı
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,819
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
"D10:D17" yazmak istediniz sanırım
Sorunuzu tam anlamadım ama aşağıdaki kodlardan biri sanıyorum istediğinizi karşılıyor. Deneyin.
Olmazsa daha açıklayıcı bir şekilde sorun

Kod:
Sub Test_1()
    Dim Bak As Integer
    For Bak = 10 To 17
        If Not Cells(Bak, "G") = "" Then
            Range("B4") = Range("B4") & Cells(Bak, "D")
        End If
    Next
End Sub
Kod:
Sub Test_2()
    Dim Bak As Integer
    Dim Say As Integer
    For Bak = 10 To 17
        If Not Cells(Bak, "G") = "" Then
            Say = Cells(Rows.Count, "B").End(xlUp).Row + 1
            If Say < 4 Then Say = 4
            Cells(Say, "B") = Cells(Bak, "D")
        End If
    Next
End Sub
 
Katılım
26 Eylül 2021
Mesajlar
52
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
12.10.2022
Sayın Muzaffer Ali,

Öncelikle ilgi ve yardımınıza teşekkür ederim.
Sorumun cevabı 2. makro, yalnız tam açıklayıcı soramadığımdan çözüm biraz eksik kaldı.
Tablolar sabit yerinde ancak içerikler dinamik, makro her çalıştığında veriler topluca alt alta sıralanıyor, yenilendikçe sabit B4 hücresinden alta sıralanmalı.
Ayrıca bu veriyi başka çalışma sayfasına nasıl yazdırabilirim? Selamlar
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,819
Excel Vers. ve Dili
2019 Türkçe
Buyurun
Kod:
Sub Test_2()
    Dim Bak As Integer
    Dim Say As Integer
    range("B4:B100").clearcontents
    For Bak = 10 To 17
        If Not Cells(Bak, "G") = "" Then
            Say = Cells(Rows.Count, "B").End(xlUp).Row + 1
            If Say < 4 Then Say = 4
            Cells(Say, "B") = Cells(Bak, "D")
        End If
    Next
End Sub
 
Katılım
26 Eylül 2021
Mesajlar
52
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
12.10.2022
Bu kadar kısa süredeki ilgi ve emeğinize teşekkür ederim. Sağlıkla kalın...
 
Üst