Lütfen Yardım. Makro İçeren Dosyaya Satır-Sütün Ekleme?

Katılım
12 Aralık 2017
Mesajlar
1
Excel Vers. ve Dili
Excel 2016 Türkçe
Arkadaşlar merhaba,

elimde bir öğrenci takibi için makro kodlar içeren dosya var. Bunu internetten bulmuştum ve üzerinde birçok biçimlendirme yapıp dilini ingilizceye çevirerek kendim için kullanılabilir hale getirdim. Excelde makro vb konularda neredeyse hiç bilgim yok o yüzden kaç gündür uğraştığım bir şeyde bir türlü sonuca gidemedim.

Soru şu. Ben her çalışma sayfasına en üste bir satır en sola bir sütün eklemek istiyorum. Bunu yaptığımda kodlar bozuluyor ve veriler saçma sapan bir hal alıyor kodlarda biraz oynamalar yaparak bazı yerlerde sonuç aldım gibi ama hala bazı çalışma sayfaları sonuçları yanlış veriyor. Makro kodlar içeren bir xlsm dosyasında Satır-Sütün eklemeleri yaparsak nasıl sorunsuz kullanmaya devam ederim?

Kod görüntüle dediğimde değiştirmem gereken kodu içeren en önemli sayfalardan birisinin kodları bu şekilde.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer

For i = 3 To 30
If Sayfa10.Cells(i, 9) = Sayfa10.Cells(2, 14) Then
Sayfa10.Cells(3, 10) = Sayfa10.Cells(i, 2)
End If
Next i

For i = 3 To 30
If Sayfa10.Cells(i, 9) = Sayfa10.Cells(3, 14) Then
Sayfa10.Cells(4, 10) = Sayfa10.Cells(i, 2)
End If
Next i
End Sub



Sıralama listesi yapan başka bir sayfanın ise kodları bu şekilde:

Private Sub CommandButton1_Click()
Dim i, aa, bb As Integer
For i = 3 To 30
Sayfa10.Cells(i, 15) = Sayfa10.Cells(i, 9)
Next

For i = 3 To 30
Sayfa10.Cells(i, 16) = Sayfa10.Cells(i, 15)
For aa = 3 To 30
If Sayfa10.Cells(aa, 15) > Sayfa10.Cells(i, 16) Then
Sayfa10.Cells(i, 16) = Sayfa10.Cells(aa, 15)
Sayfa10.Cells(i, 17) = Sayfa10.Cells(aa, 3)
End If
Next
For bb = 3 To 30
If Sayfa10.Cells(i, 16) = Sayfa10.Cells(bb, 15) Then
Sayfa10.Cells(bb, 15) = ""
Sayfa10.Cells(i, 17) = Sayfa10.Cells(bb, 2)
End If
Next
Next
For i = 3 To 30
Sayfa11.Cells(i, 2) = Sayfa10.Cells(i + 1, 17)
Sayfa11.Cells(i, 3) = Sayfa10.Cells(i + 1, 16)
Next


End Sub

Bir tane de listekutusu içeren bir sayfa var. Öğrencilerin her bir sınav quiz deneme vb şeylerden aldığı notları öğrencileri tek tek seçim yaptıkça aynı sayfada veren bir liste kutusu. Bu kutuya sağ tıklayıp makro ata seçeneğini seçip düzenle deyince aşağıdaki kodları veriyor.

Sub ÖĞRENCİGELİŞİMİ_ListeKutusu1_Değiştir()
Sayfa9.Cells(2, 6) = Sayfa8.Cells(Sayfa9.Cells(1, 27) + 2, 2)
'Yazılı
Sayfa9.Cells(5, 6) = Sayfa2.Cells(Sayfa9.Cells(1, 27) + 2, 3)
Sayfa9.Cells(5, 7) = Sayfa2.Cells(Sayfa9.Cells(1, 27) + 2, 4)
Sayfa9.Cells(5, 8) = Sayfa2.Cells(Sayfa9.Cells(1, 27) + 2, 5)
Sayfa9.Cells(5, 9) = Sayfa2.Cells(Sayfa9.Cells(1, 27) + 2, 6)
Sayfa9.Cells(5, 10) = Sayfa2.Cells(Sayfa9.Cells(1, 27) + 2, 7)
Sayfa9.Cells(5, 11) = Sayfa2.Cells(Sayfa9.Cells(1, 27) + 2, 8)

'Test
Sayfa9.Cells(6, 6) = Sayfa3.Cells(Sayfa9.Cells(1, 27) + 2, 3)
Sayfa9.Cells(6, 7) = Sayfa3.Cells(Sayfa9.Cells(1, 27) + 2, 4)
Sayfa9.Cells(6, 8) = Sayfa3.Cells(Sayfa9.Cells(1, 27) + 2, 5)
Sayfa9.Cells(6, 9) = Sayfa3.Cells(Sayfa9.Cells(1, 27) + 2, 6)
Sayfa9.Cells(6, 10) = Sayfa3.Cells(Sayfa9.Cells(1, 27) + 2, 7)
Sayfa9.Cells(6, 11) = Sayfa3.Cells(Sayfa9.Cells(1, 27) + 2, 8)
Sayfa9.Cells(6, 12) = Sayfa3.Cells(Sayfa9.Cells(1, 27) + 2, 9)
Sayfa9.Cells(6, 13) = Sayfa3.Cells(Sayfa9.Cells(1, 27) + 2, 10)
Sayfa9.Cells(6, 14) = Sayfa3.Cells(Sayfa9.Cells(1, 27) + 2, 11)
Sayfa9.Cells(6, 15) = Sayfa3.Cells(Sayfa9.Cells(1, 27) + 2, 12)
Sayfa9.Cells(6, 16) = Sayfa3.Cells(Sayfa9.Cells(1, 27) + 2, 13)
Sayfa9.Cells(6, 17) = Sayfa3.Cells(Sayfa9.Cells(1, 27) + 2, 14)
Sayfa9.Cells(6, 18) = Sayfa3.Cells(Sayfa9.Cells(1, 27) + 2, 15)
Sayfa9.Cells(6, 19) = Sayfa3.Cells(Sayfa9.Cells(1, 27) + 2, 16)
Sayfa9.Cells(6, 20) = Sayfa3.Cells(Sayfa9.Cells(1, 27) + 2, 17)

'Deneme sınavı
Sayfa9.Cells(7, 6) = Sayfa4.Cells(Sayfa9.Cells(1, 27) + 2, 3)
Sayfa9.Cells(7, 7) = Sayfa4.Cells(Sayfa9.Cells(1, 27) + 2, 4)
Sayfa9.Cells(7, 8) = Sayfa4.Cells(Sayfa9.Cells(1, 27) + 2, 5)
Sayfa9.Cells(7, 9) = Sayfa4.Cells(Sayfa9.Cells(1, 27) + 2, 6)
Sayfa9.Cells(7, 10) = Sayfa4.Cells(Sayfa9.Cells(1, 27) + 2, 7)
Sayfa9.Cells(7, 11) = Sayfa4.Cells(Sayfa9.Cells(1, 27) + 2, 8)
Sayfa9.Cells(7, 12) = Sayfa4.Cells(Sayfa9.Cells(1, 27) + 2, 9)
Sayfa9.Cells(7, 13) = Sayfa4.Cells(Sayfa9.Cells(1, 27) + 2, 10)
Sayfa9.Cells(7, 14) = Sayfa4.Cells(Sayfa9.Cells(1, 27) + 2, 11)
Sayfa9.Cells(7, 15) = Sayfa4.Cells(Sayfa9.Cells(1, 27) + 2, 12)
Sayfa9.Cells(7, 16) = Sayfa4.Cells(Sayfa9.Cells(1, 27) + 2, 13)
Sayfa9.Cells(7, 17) = Sayfa4.Cells(Sayfa9.Cells(1, 27) + 2, 14)
Sayfa9.Cells(7, 18) = Sayfa4.Cells(Sayfa9.Cells(1, 27) + 2, 15)
Sayfa9.Cells(7, 19) = Sayfa4.Cells(Sayfa9.Cells(1, 27) + 2, 16)
Sayfa9.Cells(7, 20) = Sayfa4.Cells(Sayfa9.Cells(1, 27) + 2, 17)

'Ödev takibi
Sayfa9.Cells(8, 6) = Sayfa5.Cells(Sayfa9.Cells(1, 27) + 2, 3)
Sayfa9.Cells(8, 7) = Sayfa5.Cells(Sayfa9.Cells(1, 27) + 2, 4)
Sayfa9.Cells(8, 8) = Sayfa5.Cells(Sayfa9.Cells(1, 27) + 2, 5)
Sayfa9.Cells(8, 9) = Sayfa5.Cells(Sayfa9.Cells(1, 27) + 2, 6)
Sayfa9.Cells(8, 10) = Sayfa5.Cells(Sayfa9.Cells(1, 27) + 2, 7)
Sayfa9.Cells(8, 11) = Sayfa5.Cells(Sayfa9.Cells(1, 27) + 2, 8)
Sayfa9.Cells(8, 12) = Sayfa5.Cells(Sayfa9.Cells(1, 27) + 2, 9)
Sayfa9.Cells(8, 13) = Sayfa5.Cells(Sayfa9.Cells(1, 27) + 2, 10)
Sayfa9.Cells(8, 14) = Sayfa5.Cells(Sayfa9.Cells(1, 27) + 2, 11)
Sayfa9.Cells(8, 15) = Sayfa5.Cells(Sayfa9.Cells(1, 27) + 2, 12)
Sayfa9.Cells(8, 16) = Sayfa5.Cells(Sayfa9.Cells(1, 27) + 2, 13)
Sayfa9.Cells(8, 17) = Sayfa5.Cells(Sayfa9.Cells(1, 27) + 2, 14)
Sayfa9.Cells(8, 18) = Sayfa5.Cells(Sayfa9.Cells(1, 27) + 2, 15)
Sayfa9.Cells(8, 19) = Sayfa5.Cells(Sayfa9.Cells(1, 27) + 2, 16)
Sayfa9.Cells(8, 20) = Sayfa5.Cells(Sayfa9.Cells(1, 27) + 2, 17)

'Derse Katılım
Sayfa9.Cells(9, 6) = Sayfa6.Cells(Sayfa9.Cells(1, 27) + 2, 3)
Sayfa9.Cells(9, 7) = Sayfa6.Cells(Sayfa9.Cells(1, 27) + 2, 4)
Sayfa9.Cells(9, 8) = Sayfa6.Cells(Sayfa9.Cells(1, 27) + 2, 5)
Sayfa9.Cells(9, 9) = Sayfa6.Cells(Sayfa9.Cells(1, 27) + 2, 6)
Sayfa9.Cells(9, 10) = Sayfa6.Cells(Sayfa9.Cells(1, 27) + 2, 7)
Sayfa9.Cells(9, 11) = Sayfa6.Cells(Sayfa9.Cells(1, 27) + 2, 8)
Sayfa9.Cells(9, 12) = Sayfa6.Cells(Sayfa9.Cells(1, 27) + 2, 9)
Sayfa9.Cells(9, 13) = Sayfa6.Cells(Sayfa9.Cells(1, 27) + 2, 10)
Sayfa9.Cells(9, 14) = Sayfa6.Cells(Sayfa9.Cells(1, 27) + 2, 11)
Sayfa9.Cells(9, 15) = Sayfa6.Cells(Sayfa9.Cells(1, 27) + 2, 12)
Sayfa9.Cells(9, 16) = Sayfa6.Cells(Sayfa9.Cells(1, 27) + 2, 13)
Sayfa9.Cells(9, 17) = Sayfa6.Cells(Sayfa9.Cells(1, 27) + 2, 14)
Sayfa9.Cells(9, 18) = Sayfa6.Cells(Sayfa9.Cells(1, 27) + 2, 15)
Sayfa9.Cells(9, 19) = Sayfa6.Cells(Sayfa9.Cells(1, 27) + 2, 16)
Sayfa9.Cells(9, 20) = Sayfa6.Cells(Sayfa9.Cells(1, 27) + 2, 17)

'Davranış
Sayfa9.Cells(10, 6) = Sayfa7.Cells(Sayfa9.Cells(1, 27) + 2, 3)
Sayfa9.Cells(10, 7) = Sayfa7.Cells(Sayfa9.Cells(1, 27) + 2, 4)
Sayfa9.Cells(10, 8) = Sayfa7.Cells(Sayfa9.Cells(1, 27) + 2, 5)
Sayfa9.Cells(10, 9) = Sayfa7.Cells(Sayfa9.Cells(1, 27) + 2, 6)
Sayfa9.Cells(10, 10) = Sayfa7.Cells(Sayfa9.Cells(1, 27) + 2, 7)
Sayfa9.Cells(10, 11) = Sayfa7.Cells(Sayfa9.Cells(1, 27) + 2, 8)
Sayfa9.Cells(10, 12) = Sayfa7.Cells(Sayfa9.Cells(1, 27) + 2, 9)
Sayfa9.Cells(10, 13) = Sayfa7.Cells(Sayfa9.Cells(1, 27) + 2, 10)
Sayfa9.Cells(10, 14) = Sayfa7.Cells(Sayfa9.Cells(1, 27) + 2, 11)
Sayfa9.Cells(10, 15) = Sayfa7.Cells(Sayfa9.Cells(1, 27) + 2, 12)
Sayfa9.Cells(10, 16) = Sayfa7.Cells(Sayfa9.Cells(1, 27) + 2, 13)
Sayfa9.Cells(10, 17) = Sayfa7.Cells(Sayfa9.Cells(1, 27) + 2, 14)
Sayfa9.Cells(10, 18) = Sayfa7.Cells(Sayfa9.Cells(1, 27) + 2, 15)
Sayfa9.Cells(10, 19) = Sayfa7.Cells(Sayfa9.Cells(1, 27) + 2, 16)
Sayfa9.Cells(10, 20) = Sayfa7.Cells(Sayfa9.Cells(1, 27) + 2, 17)
End Sub

Allah rızası için bir arkadaş kısaca bana bu kodlardaki ne ne anlama geliyor kısaca örnek vererek açıklayabilir mi? her bir attığım koddan birer tane örnek verseniz anlarım diye düşünüyorum. Dosyaya ihtiyacınız olursa mesaj atarak isteyebilirsiniz. Dosya linkini eklemiştim Google Drive a ama herkes erişim hakkı istedi ama hiç kimse geri dönüş yapmadi. İnsanlar hazır öğrenci takip çizelgesi diye fırsattan istifade etmek istedi anlaşılan.
 
Son düzenleme:
Katılım
7 Ağustos 2009
Mesajlar
45
Excel Vers. ve Dili
ofis 2000
Burası paylaşım sitesi soruyu soran sizsiniz dosyanın küçük bir bölümünü buraya ekleyin mutlaka bir cevap veren olur.

ÖNEMLİ HATIRLATMA !!!
Sorularınıza mutlaka açıklama yazınız ve Örnek dosya ile destekleyiniz.
Dosyanızın birebir aynı, kısa boyutlu ve şifresiz olmasına özen gösteriniz.
Eğer ALTIN ÜYE değilseniz, Örnek dosyanızı; GOOGLE DRIVE,YANDEX DISK,DOSYA.TC, DOSYAUPLOAD.COM,WETRANSFER.COM gibi dosya paylaşım sitelerine ekleyip linkini burada bildiriniz.
 
Üst