bir userformda kullanılan bir prosedürün diğer userformda kullanım

Katılım
20 Temmuz 2005
Mesajlar
270
iyi akşamlar,
aşağıda bir userform içerisinde sırala() prosedürünü kullanıyorum.başka bir userformda aynı sırala() prosedürünü nasıl çağırabilirim.
teşekkürler.

Sub sırala()
Application.ScreenUpdating = False
Range("B2:L2").Select
Range(Selection, Selection.End(xlDown)).Select
Range("B2:L65536").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:=Range("F2"), Order2:=xlAscending, Key3:=Range("E2"), Order3:= _
xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:= _
xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:=xlSortNormal
End sub
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,680
Excel Vers. ve Dili
Excel 2019 Türkçe
Kod:
call sırala
şeklinde deneyin.
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
İlgili kodunuzu bir Modüle yapıştırıp ondan sonra Formların herhangi bir aracına makro adı yazmanız yeterli olacaktır. Diğer türlü yapamadım.
 
Katılım
20 Temmuz 2005
Mesajlar
270
sayın seyit tiken
ben herhangi bir userformdan çağırıyordum olmuyordu sizin dediğiniz gibi modül içerisine attım ve çalıştı çok teşekkür ederim saygılarımla
 
Katılım
14 Şubat 2007
Mesajlar
400
Excel Vers. ve Dili
excel 2003 türkçe
Altın Üyelik Bitiş Tarihi
12-10-2023
Sayın Seyit Tiken ve Sayın bulantcigali,

bir şeyler öğrenmek için bütün dosyalardan yararlanmaya çalışıyoruz.
ancak açıklamalar ekinde dosya olmadığı için bir kaç açıklama yapmanız mümkün mü?

İlgili kodlarla ilgili açıklamanıza göre,
- Söz konusu userform üzerindeki veriler excele aktarılırken mi sıralanıyor? (Yani 12 tane textbox üzerine girilen veriler excele kayıt dediğimizde, B ve F sütunlarında esas alınan kritere göre sıralanarak mı kaydediliyor?)
Yoksa, userform ile excele aktarılmış olan veriler(yani aktarılma bitmiş veriler excelde hazır durumda) kayıtlı olduğu halde iken, userform üzerine yerleştirilen "SIRALA" buttonuna kaydedilerek söz konusu butona basıp öyle mi sıralatılıyor?

YARDIMLARINIZ İÇİN ŞİMDİDEN ÇOK TEŞEKKÜRLER?
 
Katılım
20 Temmuz 2005
Mesajlar
270
sayın sefkatim,
benim uygulamamda "hareket" sayfasındaki kayıtları sort ederek bir listbox açıktım.yani hareket sayfasını istediğim sütunlara göre sıralayıp o sırada listboxa yazdırdım.

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Sheets("hareket").Select

Range("B2:O65536").Select
Range(Selection, Selection.End(xlDown)).Select
Call sırala
'Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Key2:=Range("F2"), Order2:=xlAscending, Key3:=Range("E2"), Order3:= _
' xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:= _
' xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:=xlSortNormal
ListBox2.Clear
ListBox2.ColumnCount = 5
ListBox2.ColumnWidths = "110;100;70;110"

For X = 2 To [B65536].End(3).Row
If Range("M" & X) <> "X" Then
If Range("I" & X) > 0 Then

ListBox2.AddItem
With ListBox2
.List(Satır, 0) = Range("B" & X)
.List(Satır, 1) = Range("F" & X)
.List(Satır, 2) = Range("E" & X)
.List(Satır, 3) = Range("H" & X)
.List(Satır, 4) = Range("I" & X)

End With
Satır = Satır + 1
End If
End If
Next
End Sub
 
Üst