Tabloyu Ardışık Tek Satıra Yazma

Katılım
1 Eylül 2018
Mesajlar
12
Excel Vers. ve Dili
Office 365 Türkçe
Arkadaşlar görselde sarı tablodaki notları kırmızı satırdaki gibi sıralamak istiyorum. Bunun kolay bir yolu var mı?

 

tugkan

Altın Üye
Katılım
6 Kasım 2004
Mesajlar
481
Excel Vers. ve Dili
Excel 2016
Türkçe 64 BIT
Altın Üyelik Bitiş Tarihi
16-10-2025
Tablonuz 2 sütun mu ve aşağıya kadar kaç satır iniyor?
 

tugkan

Altın Üye
Katılım
6 Kasım 2004
Mesajlar
481
Excel Vers. ve Dili
Excel 2016
Türkçe 64 BIT
Altın Üyelik Bitiş Tarihi
16-10-2025
Hücrelerin B100'e kadar olduğunu varsaydım. Farklı bir durum varsa kodu güncelleyebilir veya tekrar mesaj yazabilirsiniz.
İstediğiniz işlemi gerçekleştirecek basit bir VBA makrosu aşağıdaki gibidir. Bu makro, Excel'deki B2 ve C2 hücrelerinden başlayarak, B100 ve C100'e kadar olan sayıları G2 hücresinden itibaren yan yana yerleştirir:
  1. Alt + F11 tuşlarına basarak VBA editörünü açın.
  2. "Insert" menüsünden "Module" seçeneğini seçerek yeni bir modül ekleyin.
  3. Aşağıdaki kodu kopyalayıp modüle yapıştırın:
Kod:
Sub YanYanaYaz()
    Dim i As Integer
    Dim hedefSutun As Integer
    hedefSutun = 7 ' G sütunu için

    For i = 2 To 100
        Cells(2, hedefSutun).Value = Cells(i, 2).Value ' B sütunundaki değeri G sütununa aktar
        Cells(2, hedefSutun + 1).Value = Cells(i, 3).Value ' C sütunundaki değeri bir sonraki hücreye aktar
        hedefSutun = hedefSutun + 2 ' Bir sonraki çift hücreye geç
    Next i
End Sub
Bu kodu çalıştırdığınızda, B2 ve C2 hücrelerinden B100 ve C100'e kadar olan sayılar, G2 hücresinden başlayarak yan yana dizilecektir.
 
Katılım
1 Eylül 2018
Mesajlar
12
Excel Vers. ve Dili
Office 365 Türkçe
Hücrelerin B100'e kadar olduğunu varsaydım. Farklı bir durum varsa kodu güncelleyebilir veya tekrar mesaj yazabilirsiniz.
İstediğiniz işlemi gerçekleştirecek basit bir VBA makrosu aşağıdaki gibidir. Bu makro, Excel'deki B2 ve C2 hücrelerinden başlayarak, B100 ve C100'e kadar olan sayıları G2 hücresinden itibaren yan yana yerleştirir:
  1. Alt + F11 tuşlarına basarak VBA editörünü açın.
  2. "Insert" menüsünden "Module" seçeneğini seçerek yeni bir modül ekleyin.
  3. Aşağıdaki kodu kopyalayıp modüle yapıştırın:
Kod:
Sub YanYanaYaz()
    Dim i As Integer
    Dim hedefSutun As Integer
    hedefSutun = 7 ' G sütunu için

    For i = 2 To 100
        Cells(2, hedefSutun).Value = Cells(i, 2).Value ' B sütunundaki değeri G sütununa aktar
        Cells(2, hedefSutun + 1).Value = Cells(i, 3).Value ' C sütunundaki değeri bir sonraki hücreye aktar
        hedefSutun = hedefSutun + 2 ' Bir sonraki çift hücreye geç
    Next i
End Sub
Bu kodu çalıştırdığınızda, B2 ve C2 hücrelerinden B100 ve C100'e kadar olan sayılar, G2 hücresinden başlayarak yan yana dizilecektir.
Öncelikle ilginiz için çok teşekkür ederim.
Kodu güncelelmeyi beceremedim.
Kodu şu şekilde güncelleyebilir miyiz?
E50 ye kadar olması yeterlidir.

 

tugkan

Altın Üye
Katılım
6 Kasım 2004
Mesajlar
481
Excel Vers. ve Dili
Excel 2016
Türkçe 64 BIT
Altın Üyelik Bitiş Tarihi
16-10-2025
Anladığım kadarıyla verileriniz sadece E ve F sütununda doğru mu?
Bir de bu notları yan yana hangi sütun ve hücreden itibaren yazdırmak istiyorsunuz?
 
Katılım
1 Eylül 2018
Mesajlar
12
Excel Vers. ve Dili
Office 365 Türkçe
Anladığım kadarıyla verileriniz sadece E ve F sütununda doğru mu?
Bir de bu notları yan yana hangi sütun ve hücreden itibaren yazdırmak istiyorsunuz?
E-F-G sütundaki notları K1'den başlayarak yazdıralım hocam. Not olmayan hücreleri de boş olarak yazdıralım mümkünse.
 

tugkan

Altın Üye
Katılım
6 Kasım 2004
Mesajlar
481
Excel Vers. ve Dili
Excel 2016
Türkçe 64 BIT
Altın Üyelik Bitiş Tarihi
16-10-2025
İstediğiniz şekilde makroyu güncelledim. Bu güncellenmiş makro, E5:F5:G5 ile E50:F50:G50 arasındaki değerleri alarak, K1 hücresinden başlayıp yan yana yazacaktır. Boş hücreler varsa da boş olarak aktarır.

İşte güncellenmiş makro:
Kod:
Sub YanYanaYaz()
    Dim i As Integer
    Dim hedefSutun As Integer
    hedefSutun = 11 ' K sütunu için başlangıç (K sütunu 11. sütundur)

    For i = 5 To 50
        Cells(1, hedefSutun).Value = Cells(i, 5).Value ' E sütunundaki değeri K sütununa aktar
        Cells(1, hedefSutun + 1).Value = Cells(i, 6).Value ' F sütunundaki değeri yanına aktar
        Cells(1, hedefSutun + 2).Value = Cells(i, 7).Value ' G sütunundaki değeri bir sonraki hücreye aktar
        hedefSutun = hedefSutun + 3 ' Bir sonraki üçlü hücreye geç
    Next i
End Sub
Açıklama:
  • hedefSutun = 11 ile K sütununda başlamasını sağladık.
  • Cells(i, 5).Value, Cells(i, 6).Value, ve Cells(i, 7).Value ifadeleri sırasıyla E, F, ve G sütunlarındaki değerleri kontrol eder ve boşsa boş olarak K sütununa ve yanındaki hücrelere taşır.
  • hedefSutun = hedefSutun + 3 ile her döngüde üç sütun ilerlemesini sağladık, böylece yan yana olacak şekilde veriler aktarılır.
 

Ekli dosyalar

Katılım
1 Eylül 2018
Mesajlar
12
Excel Vers. ve Dili
Office 365 Türkçe
İstediğiniz şekilde makroyu güncelledim. Bu güncellenmiş makro, E5:F5:G5 ile E50:F50:G50 arasındaki değerleri alarak, K1 hücresinden başlayıp yan yana yazacaktır. Boş hücreler varsa da boş olarak aktarır.

İşte güncellenmiş makro:
Kod:
Sub YanYanaYaz()
    Dim i As Integer
    Dim hedefSutun As Integer
    hedefSutun = 11 ' K sütunu için başlangıç (K sütunu 11. sütundur)

    For i = 5 To 50
        Cells(1, hedefSutun).Value = Cells(i, 5).Value ' E sütunundaki değeri K sütununa aktar
        Cells(1, hedefSutun + 1).Value = Cells(i, 6).Value ' F sütunundaki değeri yanına aktar
        Cells(1, hedefSutun + 2).Value = Cells(i, 7).Value ' G sütunundaki değeri bir sonraki hücreye aktar
        hedefSutun = hedefSutun + 3 ' Bir sonraki üçlü hücreye geç
    Next i
End Sub
Açıklama:
  • hedefSutun = 11 ile K sütununda başlamasını sağladık.
  • Cells(i, 5).Value, Cells(i, 6).Value, ve Cells(i, 7).Value ifadeleri sırasıyla E, F, ve G sütunlarındaki değerleri kontrol eder ve boşsa boş olarak K sütununa ve yanındaki hücrelere taşır.
  • hedefSutun = hedefSutun + 3 ile her döngüde üç sütun ilerlemesini sağladık, böylece yan yana olacak şekilde veriler aktarılır.
Çok teşekkür ederim kod mükemmel çalıştı. İşimiz kolaylatırdı.
 

tugkan

Altın Üye
Katılım
6 Kasım 2004
Mesajlar
481
Excel Vers. ve Dili
Excel 2016
Türkçe 64 BIT
Altın Üyelik Bitiş Tarihi
16-10-2025
Rica ederim. Bir beğeninizi alırım artık :)
 
Katılım
1 Eylül 2018
Mesajlar
12
Excel Vers. ve Dili
Office 365 Türkçe
Rica ederim. Bir beğeninizi alırım artık :)
Hocam yine rahatsız ediyorum ama bir sorum olacak.

Verdiğiniz koda buton ekleyip daha işlevsel yaptım. Ancak yanyana yaz dediğimde ve kopyala dediğimde 2.görseldeki gibi sayılar arasında boşluklar oluşuyor.
3.görselde not defterinde bul&değiştir ile boşlukları kaldırıp istediğim gibi yapabiliyorum. Bunu not defterini kullanmadan excel ortamında yapmam mümkün mü? Yani son kopyala dediğimde veriyi boşluksuz kopyalayabilir miyim?





 
Üst