• DİKKAT

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

dizi formülünün makro çözümü var mı?

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,042
Excel Vers. ve Dili
2013 Türkçe
örnek dosyada dizi formulü ile sonuca ulaşabiliyorum.ancak dizi formul sayısını arttırdıkça dosya geç işlem yapıyor.acaba bunun makro ile çözümü var mı? değerleri girdiğimde makro otamatik olarak öğrencileri gruplandıracak?

=EĞER(SATIR(A1)>EĞERSAY($B:$B;SÜTUN(A1));"";İNDİS($A$1:$A$26;KÜÇÜK(EĞER($B$2:$B$26=SÜTUN(A1);SATIR($B$2:$B$26));SATIR(A1))))
dizi formulünü makronun yapmasını istiyorum.
 

Ekli dosyalar

Merhaba,
Aşağıdaki kodu bir butona bağlayıp çalıştırın:
Kod:
Sub Grupla()
[d2:h65536].ClearContents
For x = 2 To [b65536].End(3).Row
Sut = Cells(x, "b") + 3
Sat = Cells(65536, Sut).End(3).Row + 1
Cells(Sat, Sut) = Cells(x, "a")
Next
End Sub
 
sn leumruk teşekkür ederim olmuş.ancak bu gruplandırmayı düğme yardımıyla değilde kendisi otamatik yapabilir mi?
 
sn leumruk teşekkür ederim olmuş.ancak bu gruplandırmayı düğme yardımıyla değilde kendisi otamatik yapabilir mi?
Aşağıdaki satırı sayfa1'in kod bölümüne kopyalayın.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [b2:b65536]) Is Nothing Then Exit Sub
If Target = "" Then Exit Sub
Set Aralik = Range("d2:h" & [d1].SpecialCells(xlLastCell).Row)
    Set Bul = Aralik.Find(Target.Offset(0, -1), LookIn:=xlValues, LookAt:=xlWhole)
    If Not Bul Is Nothing Then
    MsgBox "Bu ismi daha önce girdiniz. Aktarım yapılmayacak.", vbCritical, "UYARI"
    Else:
    Sut = Target + 3
    Sat = Cells(65536, Sut).End(3).Row + 1
    Cells(Sat, Sut) = Cells(Target.Row, "a")
    End If
Son:
End Sub
 
sn leumruk çok teşekkür ederim.çok iyi oldu benim için.bir kez daha teşekkür ederim...
 
peki sn leumruk aynı isimlere girmesine izin verebilir mi?örneğin bir ismi girdiğimizde aynı sütunda ya da farklı sütunda olması mümkün mü?
 
peki sn leumruk aynı isimlere girmesine izin verebilir mi?örneğin bir ismi girdiğimizde aynı sütunda ya da farklı sütunda olması mümkün mü?
Kodu aşağıdaki gibi kullanırsanız, her girilen veriyi aktarır.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [b2:b65536]) Is Nothing Then Exit Sub
If Target = "" Then Exit Sub
    Sut = Target + 3
    Sat = Cells(65536, Sut).End(3).Row + 1
    Cells(Sat, Sut) = Cells(Target.Row, "a")
Son:
End Sub
 
Geri
Üst