Kritere göre veri karıştırma.

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
Kod:
Sub duzelt() 'Şu an bu makro kullanılıyor.
[COLOR="red"]Dim deg(25)[/COLOR]
For a = 9 To [a65536].End(3).Row
If Cells(a, "a") = "A" Then GoTo 10
For b = 1 To 25
[COLOR="Red"]deg(b) = Cells(a, b + 4)[/COLOR]
Next
sut = [COLOR="Red"]WorksheetFunction.Match(Cells(a, "a"), [Kriter!2:2], 0)[/COLOR]
For c = 1 To 25
Cells(a, c + 4) =[COLOR="red"] deg(Sheets("Kriter").Cells(c + 2, sut))[/COLOR]
Next
10 Next
End Sub
Syn.Levet Bey,
Yukarıdaki kodları zamanında sizden almıştım. Kırmızı bölgelerin ne anlama geldiğini açıklayabilir misiniz?
Bu kodların bulunduğu dosyayı ekliyorum.
 

Ekli dosyalar

Son düzenleme:

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Açıklamaya çalışayım.

Sub duzelt() 'Şu an bu makro kullanılıyor.
Dim deg(25) '25 elemanlı tek boyutlu bir dizi oluşturuluyor. Bu A ve AC sütunları arasındaki 25 adet sütun olduğu için eleman sayısı 25 olarak belirlenmiştir.
For a = 9 To [a65536].End(3).Row
If Cells(a, "a") = "A" Then GoTo 10
For b = 1 To 25
deg(b) = Cells(a, b + 4) 'Oluşturduğumuz bu 25 elemanlı diziye, ilk döngüde a değişkenin belirlediği satır ve ikinci döngüdeki b değişkeninin belirlediği sütuna karşılık gelen hücredeki değerler aktarılıyor.
Next
sut = WorksheetFunction.Match(Cells(a, "a"), [Kriter!2:2], 0) 'a değişkenine göre belirlenen satır ve A sütuna karşılık gelen verinin kriter sayfasının 2. satırında yeri aranıyor. Diğer bir deyişle sütun değeri bulunuyor.
For c = 1 To 25
Cells(a, c + 4) = deg(Sheets("Kriter").Cells(c + 2, sut)) 'kriter sayfasında bulunan sütun değeri ve c değişkeni ile belirlenen satır değerine karşılık gelen hücredeki veriye göre ilk oluşturulan dizideki sırasından veri geri çağırılıyor. Yani kriter sayfasından bulunan veri diziden kaçıncı elemanın çağrılacağını belirliyor.
Next
10 Next
End Sub

Umarım anlatmayı başarabilmişimdir. Kodu anlatmak kolayda kurulan mantığı yazarak anlatmak bayağı zor bir iş.
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
Kod:
GoTo 10
10 Next
Bu kodun görevini de öğrenebilir miyim?
Bir de ekteki dosyaya bakar mısınız? Aynı kodu AnaSayfada belirttiğim yeni tablo şekline nasıl uyarlayabiliriz?
 

Ekli dosyalar

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
Güncel. Konu epey uzaklaşmış.
 
Üst