• DİKKAT

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

Karışık kopyalama...

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,472
Excel Vers. ve Dili
Office 2010 & 2013 tr
Daha önce başka bir arkadaşın açtığı başlık altında soru yöneltmiştim. Benim istediğim o başlıkla tam uyuşmadığından buraya alıyorum. Ve sorumu biraz daha kolaylaştırdım. Basit ve anlaşılır hale getirdim.
Aklıma fazla bir çözüm gelmiyor, ama uzman arkadaşlarımızdan mutlaka bunu çözecek birileri çıkacaktır.
Sorum ekte...
Mutlaka cevap almam gereken bir husus. Hazırladığım programın temelini bu işlem oluşturacak.
Yardımlarınızı bekliyorum...
 
Selamlar,

Sn. leumruk,

Butonun altına eklemiş olduğunuz tablo makroda kullanılabilir mi?
 
Tam anlamadım, kod yazarken demek istediyseniz tabiki kullanılabilir. Ekte 4 tablo var. Bunlardan birincisi ana tablo, yani sabit kalacak. diğerleri ise gruplar...
diğer 3 tablonun şık kısımları buton altında belirttiğim tablodaki sıralamaya göre olacak.
 
Sayın leumruk,

Maalesef sorunuzu anlayamadım.

"!. Grup sabit kalacak. Diğer grupların ilk iki satırları sabit kalıp şık kısımları yukarda belirttiğim şekilde yer değiştirecek. Buraya aldığım tablo örnek amacıyla olduğundan 4 soruluk yaptım. Bunu en kısa yoldan nasıl hallederiz."

1. grup olarak nitelidiğiniz A-B sütunlarının komplesi mi ? Diğer grupların ilk 2 satırı sabit dediğiniz yer ile değişecek dediğiniz yer neresidir ?

Sorunuzu biraz daha açarak anlatır mısınız ?
 
Syn hocam, tablodaki mavi kısımlar yerinde sabit kalacak onlar üzerinde hiç bir işlem yapmaya gerek yok. Yeşil kısımlar, yani şıkların bulunduğu kısımlar yer değiştirecek. Mesela 1. grubun 1. sorusunun A şıkkının yanındaki veri "SAYGI", 2. grubun 1.sorusunun C şıkkının karşısına, 3.grubun B şıkkına, 4. grubunda D şıkkına gidecek. Tabi bunlar belli bir düzenle ve makroyla olacak. Ve tabiki kopyalama yöntemiyle. Çünkü biçimin korunması çok önemli.
Ayrıca ek dosyayı fikir vermesi açısından sorunuza cevap olacak şekilde değiştirerek yeniden yolluyorum.
Yine anlaşılmayan noktalar olabilir, çünkü anlatımımı beğenmedim. Anlaşılmayan yerler olursa yeniden açıklayabilirim.
 
Selamlar,

İlk örnek dosyanıza göre aşağıdaki kodu denermisiniz.

Kod:
Sub GRUP_OLUŞTUR()
    SÜTUN = 14
    SATIR = 4
    For X = 4 To 10 Step 3
    For Y = 4 To 32 Step 8
    For Z = 9 To 13
    If Cells(Y, X) = "A" Or Cells(Y, X) = "B" Or Cells(Y, X) = "C" Or Cells(Y, X) = "D" Or Cells(Y, X) = "E" Then
    Set BUL = Range("A" & Y - 1 & ":A65536").Find(Cells(Z, SÜTUN), LookAt:=xlWhole)
    If Not BUL Is Nothing Then
    Cells(BUL.Row, 2).Copy Cells(SATIR, X + 1)
    SATIR = SATIR + 1
    End If
    End If
    Next
    SATIR = SATIR + 3
    Next
    SATIR = 4
    SÜTUN = SÜTUN + 1
    Next
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Son düzenleme:
Sanırım olacak gibi, ama bazı veriler yerlerine gitmiyor, mesela 1. grubun A şıkkındaki "SAYGI" kelimesi diğer gruplarda yok.
Syn. Korhan hocam, hata yerlerinin belli olması için hücreleri renklendirdim. Ekle yolluyorum.
 
Son düzenleme:
Selamlar,

Üstteki mesajımdaki kodu güncelledim. İncelermisiniz.
 
Syn. Korhan hocam, çok teşekkür ederim. Tek kelimeyle harika olmuş. Beni büyük bir sıkıntıdan kurtardınız.
Peki hocam, şıklara uyguladığımız bu işlemi soru yerlerini değiştirmede de uygulayabilir miyiz?
Mesela 1. soruyu, 3. sorunun bulunduğu yere, 2. soruyu 4. sorunun bulunduğu yere gibi.
Sorular blok halinde yer değiştirecek, şıkların yerleri değiştikten sonra verdiğim düzene göre mesela E2:E8 aralığı belirttiğim yere gidecek.
Ekte soru değişikliği tablosunu oluşturdum. Şık tablosunun altında...
 
Son düzenleme:
Syn. hocam, aynı makro üzerinde bir kaç ek daha isteyeceğim.
Ekte açıklama kutusuna ekledim.
Syn. hocam, mutlaka cevabınızı bekliyorum. Bu kısım benim için çok önemli. Bunu halledebilirsem, yaptığım programın ebatı en aşağı 30'da 1 azalacak.
Saygılar...
 
Selamlar,

Aşağıdaki kodu denermisiniz. Grup sayısı 4 ve soru sayısı ise sayfa sınırına kadar (65536 satırına kadar) olmak kaydıyla kodu kullanabilirsiniz. Grup sayınız artarsa kodu düzenlemek gerekir.

Kod:
Sub GRUP_OLUŞTUR()
    For X = 2 To [A65536].End(3).Row Step 8
    For Y = 5 To 11 Step 3
    Range(Cells(X, 2), Cells(X + 1, 2)).Copy Cells(X, Y)
    Next
    Next
 
    SÜTUN = 14
    SATIR = 4
    For X = 4 To 10 Step 3
    For Y = 4 To [A65536].End(3).Row Step 8
    For Z = 9 To 13
    If Cells(Y, X) = "A" Or Cells(Y, X) = "B" Or Cells(Y, X) = "C" Or Cells(Y, X) = "D" Or Cells(Y, X) = "E" Then
    Set BUL = Range("A" & Y - 1 & ":A65536").Find(Cells(Z, SÜTUN), LookAt:=xlWhole)
    If Not BUL Is Nothing Then
    XXX = BUL.Row
    Cells(BUL.Row, 2).Copy Cells(SATIR, X + 1)
    SATIR = SATIR + 1
    End If
    End If
    Next
    SATIR = SATIR + 3
    Next
    SATIR = 4
    SÜTUN = SÜTUN + 1
    Next
 
    SÜTUN = 14
    SATIR = 4
    For X = 4 To 10 Step 3
    Range(Cells(1, X), Cells(65536, X + 1)).Copy Cells(1, 255)
    For Y = 17 To 20
    Set BUL = Range("IU:IU").Find(Cells(Y, SÜTUN), LookAt:=xlWhole)
    If Not BUL Is Nothing Then
    Range(Cells(BUL.Row + 2, 255), Cells(BUL.Row + 6, 256)).Copy Cells(SATIR, X)
    SATIR = SATIR + 8
    End If
    Next
    SATIR = 4
    SÜTUN = SÜTUN + 1
    Next
    Columns("IU:IV").Delete
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Syn. Korhan hocam,
Küçük bir problem var. soru hücreleri sabit kalıyor. sadece şık bölmeleri yer değiştiriyor. Soru kısmıyla şık bölmeleri bir bütün olarak yer değiştirebilir mi? Kademeli olarak ifade edersek. Gruplara göre şıklar yer değiştirdikten sonra, sorular sabit olarak gruplara kopyalansın, hemen ardından verdiğim tabloya göre soru ve şıkların bulunduğu bölüm bütün olarak yer değiştirsin.
1. sorudan örnek vereyim. B2:B8 arası bütün olarak yer değiştirsin...
Son olarak, soru sayısını arttırdığımda tablodaki numaraları artırdığım soru sayısı kadar yapacağım değil mi?
Soru sayısını tabloda arttırdığımda yani 5,6,7,8... yazdığımda kopyalama yapıyor, fakat sadece şıkların yeri değişiyor. Soruların yeri değişmiyor.
 
Son düzenleme:
Selamlar,

Ekte örnek dosyanızda gerekli düzenlemeleri yaptım. İncelermisiniz. Seçenek değiştirme tablosunun yanına soru değiştirme tablosunu ekledim. Bu şekilde alta doğru dilediğiniz kadar ekleme yapabilirsiniz.
 
Son düzenleme:
Korhan hocam, 2. grupta bir sorun var. Soru yerleri değişmiyor. 1. grupla aynı kalıyor. Soru sayısını artırdığımda da yeni yazdığım soru ve cevapları değil öncekileri alıyor. 1. soruyu ve cevaplarını aktarıyor.
Bir de butonu başka bir sayfaya eklesem çalışır mı? Veya nasıl bir ek yapmalıyım.
 
Son düzenleme:
Selamlar,

Siz uyguladığınız bir dosyayı ekleyin üzerinden gidelim.
 
Dosyayı ekliyorum. Sanırım sadece 2. grupta sorun var. Ötekiler bu denediğim dosyada olmadı. Kopyalamada sütun atlıyor gibi.
Bir de butonu başka bir sayfaya geçirmek mümkün mü?
 
Son düzenleme:
Selamlar,

13. mesajımdaki dosyayı güncelledim. İncelermisiniz.
 
Syn. hocam çok teşekkür ederim. Sanırım oldu. Şu an bir problem görünmüyor.
Bu makro benim için çok önemliydi. Eğer çözüm bulamasaydık 50 soruyu ve şıklarını 4 gruba tek tek kopyala yapıştır makrosu yazacaktım. bir de bunun 25, 20 ve 40 soru kısmı var ki bu da tam 135 soru ve şıkları demek... Bunu gruplarla çarpıp, tekrar şık sayısıyla çarptığımızda...
Hasılı uzatmadan beni nasıl bir dertten kurtardığınızı belirtmeye çalışıyorum.
Çok teşekkür ederim. Allah eksikliğinizi göstermesin...
 
Syn. Uzman arkadaşlarım,
Kopyalamayla ilgili Korhan Bey'in yolladığı makroyu kendime uyarlayamadım. Yardımcı olur musunuz. Makroyu orjinal kaydıyla birlikte ekte gönderiyorum.
Yalnız tablonun yerini değiştiriyorum. Kodları değiştirdiğim tabloya uyarlayabilir misiniz? Bir de değiştirdiğiniz kodları belirtirseniz kendi dosyamda daha rahat uygulayabilirim.
 
Syn Korhan hocam, isminizi linkte göremediğim için soruyu genel tuttum. Sanırım şu an linktesiniz. Makroyu siz yollamıştınız. Bakabilir misiniz?
 
Geri
Üst