hakki83
Altın Üye
- Katılım
- 30 Eylül 2021
- Mesajlar
- 567
- Excel Vers. ve Dili
- Excel 2016 Türkçe 32 Bit
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'18.10.2021 10:48
If Target.Count > 1 Then Exit Sub
If Target.Row = 1 Then
sonstr = Cells(Rows.Count, Target.Column).End(3).Row
Columns(Target.Column).Select
ActiveWorkbook.Worksheets(ActiveSheet.Name).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(ActiveSheet.Name).Sort.SortFields.Add Key:=Range(Cells(2, Target.Column), Cells(sonstr, Target.Column)) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(ActiveSheet.Name).Sort
.SetRange Range(Cells(1, Target.Column), Cells(sonstr, Target.Column))
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Cells(1, Target.Column).Select
End If
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.ScreenUpdating = False
Dim s As Long
s = Cells(Rows.Count, Target.Column).End(3).Row
ActiveSheet.Sort.SortFields.Clear
ActiveSheet.Sort.SortFields.Add2 Key:=Range(Cells(1, Target.Column), Cells(s, Target.Column)) _
, Order:=xlAscending
With ActiveSheet.Sort
.SetRange Range(Cells(2, Target.Column), Cells(s, Target.Column))
.Orientation = xlTopToBottom
.Apply
End With
s = 0
Application.ScreenUpdating = True
End Sub
Emeğinize sağlık, fakat kodlar hata verdi.Merhaba, kodlar aynı ama hazırlamışken alternatif olarak paylaşayım.
Kod:Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Application.ScreenUpdating = False Dim s As Long s = Cells(Rows.Count, Target.Column).End(3).Row ActiveSheet.Sort.SortFields.Clear ActiveSheet.Sort.SortFields.Add2 Key:=Range(Cells(1, Target.Column), Cells(s, Target.Column)) _ , Order:=xlAscending With ActiveSheet.Sort .SetRange Range(Cells(2, Target.Column), Cells(s, Target.Column)) .Orientation = xlTopToBottom .Apply End With s = 0 Application.ScreenUpdating = True End Sub
Emeğinize sağlık teşekkür ederim.Merhaba
Dosyanız Hazır.
Selamlar...
Kod:Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) '18.10.2021 10:48 If Target.Count > 1 Then Exit Sub If Target.Row = 1 Then sonstr = Cells(Rows.Count, Target.Column).End(3).Row Columns(Target.Column).Select ActiveWorkbook.Worksheets(ActiveSheet.Name).Sort.SortFields.Clear ActiveWorkbook.Worksheets(ActiveSheet.Name).Sort.SortFields.Add Key:=Range(Cells(2, Target.Column), Cells(sonstr, Target.Column)) _ , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets(ActiveSheet.Name).Sort .SetRange Range(Cells(1, Target.Column), Cells(sonstr, Target.Column)) .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Cells(1, Target.Column).Select End If End Sub
Tabi, bir de sıralamayı tüm sayfayı kapsayacak şekilde ve çift tıklanan hücrede düzenleme aşamasına geçemeyecek şekilde düzenleyebilir misiniz?Rica ederim ancak kodları denemeden paylaşmıyorum, eklediğiniz dosyada sıralama işlemini yapıyor.
Uygulama yaptığınız dosyayı ve kodları tekrar paylaşır mısınız?
Tüm sayfada sıralama yapması için düzenlenen kodlar.Tabi, bir de sıralamayı tüm sayfayı kapsayacak şekilde ve çift tıklanan hücrede düzenleme aşamasına geçemeyecek şekilde düzenleyebilir misiniz?
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.ScreenUpdating = False
Dim s As Long, l As Integer, x As Integer
Cancel = True
l = Cells(1, Columns.Count).End(1).Column
For x = 1 To l
If Cells(1, x) <> "" Then
s = Cells(Rows.Count, x).End(3).Row
ActiveSheet.Sort.SortFields.Clear
ActiveSheet.Sort.SortFields.Add2 Key:=Range(Cells(1, x), Cells(s, x)) _
, Order:=xlAscending
With ActiveSheet.Sort
.SetRange Range(Cells(1, x), Cells(s, x))
.Orientation = xlTopToBottom
.Apply
End With
End If
Next
s = 0: l = 0: x = 0
Application.ScreenUpdating = True
End Sub
Teşekkür ederim. Tüm sayfayı kapsayacak şekilde düzenleyebilir misinizMerhaba;
Soru çözümlenmiş ama alternatif olsun.
İyi çalışmalar.
Hata verdi.Tüm sayfada sıralama yapması için düzenlenen kodlar.
Kod:Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Application.ScreenUpdating = False Dim s As Long, l As Integer, x As Integer Cancel = True l = Cells(1, Columns.Count).End(1).Column For x = 1 To l If Cells(1, x) <> "" Then s = Cells(Rows.Count, x).End(3).Row ActiveSheet.Sort.SortFields.Clear ActiveSheet.Sort.SortFields.Add2 Key:=Range(Cells(1, x), Cells(s, x)) _ , Order:=xlAscending With ActiveSheet.Sort .SetRange Range(Cells(1, x), Cells(s, x)) .Orientation = xlTopToBottom .Apply End With End If Next s = 0: l = 0: x = 0 Application.ScreenUpdating = True End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A1:BM1")) Is Nothing Then Exit Sub
Cancel = True
Range("A2:BM" & Rows.Count).Sort Cells(Target.Row, Target.Column), xlAscending
End Sub
Tam olarak buydu istediğim.Deneyiniz.
Kod:Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Intersect(Target, Range("A1:BM1")) Is Nothing Then Exit Sub Cancel = True Range("A2:BM" & Rows.Count).Sort Cells(Target.Row, Target.Column), xlAscending End Sub