• DİKKAT

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

Birleşik makroyu 2 ye ayırmak

Katılım
12 Ağustos 2007
Mesajlar
301
Excel Vers. ve Dili
2003 türkçe
2016 türkçe
Merhaba Arkadaşlar. Sayın muygunun yardımıyla bir düğmeye tanımlı aşağıdaki makroyu edinmiştim. Aynı makroyu benzer bir çalışmada 2 ayrı düğmeye atamak için ayırmam gerekiyor. Bir düğme verileri aktarmalı, diğeri belli bir sütunu sıramalı. Bunu bir türlü yapamadım. Yardımlarınızı bekliyorum Teşekkürler.

Sub sayfa_toplamlarını_al()
Application.ScreenUpdating = False
On Error Resume Next
Sheets("SINIF").Range("d3:g65536").ClearContents
Set s1 = ThisWorkbook.Worksheets("SINIF")
For i = 3 To s1.Range("A65536").End(xlUp).Row
Set s2 = ThisWorkbook.Worksheets(s1.Cells(i, 1).Value)
If s1.Cells(i, "a") = s2.Cells(1, "b") Then
s1.Cells(i, "d") = s2.Cells(2, "h") '1.dönem yazılıyor
s1.Cells(i, "e") = s2.Cells(2, "I") '2.dönem yazılıyor
s1.Cells(i, "f") = s1.Cells(i, "d") - s1.Cells(i, "e") '2 dönem toplamı
's1.Cells(i, "g") = s1.Cells(i, "f") / s1.Cells(i, "b") 'kişi sayısına göre yatan miktarın ortalaması alınıyor
End If
Next i
Call verileri_sırala
Application.ScreenUpdating = True
MsgBox "İşlem TAMAM.", vbInformation
End Sub

Sub verileri_sırala()
Range("A3:G65536").Select
Selection.Sort Key1:=Range("g3"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("D3").Select
End Sub
 
Bu makrolar zaten ayrı ayrı hazırlanmışlar. İlk makrodaki Call verileri_sırala satırı ile ikinci makro çağrılıp çalıştırıldığı için arka arkaya çalışıyorlar. Bu satırı iptal ederseniz sadece ilk makro çalışır. İkinci makro için ayrı bir düğme ekleyip makro atarsanız ayrı ayrı kullanabilirsiniz.

sAtırı iptal etmek için ister tamamen silin ister sadece başına kesme işareti ekleyin:

'Call verileri_sırala

gibi. Kesme işareti o satırın kod değil de yorum olmasına neden olur ve çalıştırmaz.
 
Sayın Yusuf44 teşekkür ettim.
 
Geri
Üst