Karışık kopyalama...

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
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...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,592
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Sn. leumruk,

Butonun altına eklemiş olduğunuz tablo makroda kullanılabilir mi?
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
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.
 
S

Skorpiyon

Misafir
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 ?
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
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.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,592
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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:

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
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:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,592
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Üstteki mesajımdaki kodu güncelledim. İncelermisiniz.
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
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:

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
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...
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,592
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
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:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,592
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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:

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
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:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,592
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Siz uyguladığınız bir dosyayı ekleyin üzerinden gidelim.
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
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:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,592
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

13. mesajımdaki dosyayı güncelledim. İncelermisiniz.
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
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...
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
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.
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
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?
 
Üst