DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
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
Öncelikle ilginiz için çok teşekkür ederim.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:
- Alt + F11 tuşlarına basarak VBA editörünü açın.
- "Insert" menüsünden "Module" seçeneğini seçerek yeni bir modül ekleyin.
- Aşağıdaki kodu kopyalayıp modüle yapıştırın:
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.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
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.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?
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
Çok teşekkür ederim kod mükemmel çalıştı. İşimiz kolaylatırdı.İ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:
Açıklama: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
- 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.
Hocam yine rahatsız ediyorum ama bir sorum olacak.Rica ederim. Bir beğeninizi alırım artık![]()