• DİKKAT

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

notları otomatik olarak atama

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,042
Excel Vers. ve Dili
2013 Türkçe
a sütununda öğrenci isimleri,b sütununda öğrenci notları var.öğrenci kaç kez not almışsa sırasıyla f,g,h... sütunlarına yazmasını istiyorum.düğme kullanmayacağız.notu girdiğim anda not ismin karşısına gelecek.
 

Ekli dosyalar

Merhaba,

Makro kullanmadan, dosyayı yormayacak bir formülle bu işlemi yapabilirsiniz..

E2 hücresine yazarak yana ve alt satırlara kopyalayınız..

Kod:
=KAYDIR($B$2;SÜTUN(A1)*27-26-2*SÜTUN(A1)+SATIR(A1);0)
.
 
sn Ömer teşekkür ederim olmuş.işimi gördü.peki bunun makro çözümü var mı?
 
Merhaba,
Makrolu alternatif:
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, Range("b2:b65536")) Is Nothing Then Exit Sub
If Target = "" Then Exit Sub
Say = WorksheetFunction.CountIf(Range(Cells(2, "a"), Cells(Target.Row, "a")), Target.Offset(0, -1))
Sut = Say + 4
Set Bul = [d2:d26].Find(Target.Offset(0, -1), lookat:=xlWhole)
If Not Bul Is Nothing Then
Cells(Bul.Row, Sut) = Target
MsgBox Target.Offset(0, -1) & " için" & Chr(10) & Say & ". not girişini eklediniz.", vbInformation, "leumruk"
End If
Son:
End Sub
 
sn leumruk her zamanki gibi harikasınız.çok teşekkür ederim...
 
sn leumruk Private Sub Worksheet_Change(ByVal Target As Range) bu ifade bir sayfa için tek mi kullanılıyor.
 
Merhaba,
Aşağıdaki kodu kullanın, düzen aynı olmak kaydıyla istediğiniz kadar sınıf ekleyebilirsiniz.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, Range("b2:b65536,l2:l65536,v2:v65536")) Is Nothing Then Exit Sub
If Target = "" Then Exit Sub
Say = WorksheetFunction.CountIf(Range(Cells(2, Target.Column - 1), Cells(Target.Row, Target.Column - 1)), Target.Offset(0, -1))
Sut = Say + Target.Column + 2
Sat = Cells(65536, Target.Column + 2).End(3).Row
Set Bul = Range(Cells(2, Target.Column + 2), Cells(Sat, Target.Column + 2)).Find(Target.Offset(0, -1), lookat:=xlWhole)
If Not Bul Is Nothing Then
Cells(Bul.Row, Sut) = Target
End If
Son:
End Sub
 
Sn leumruk çok teşekkür ederim.
 
Geri
Üst