DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Option Compare Text
Sub Sayfada_Duzenle_Sirala()
Dim i As Long, _
j As Long, _
k As Integer, _
Uz As Integer, _
Abc As String, _
s1 As Worksheet, _
s2 As Worksheet
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
For i = 1 To s1.Cells(Rows.Count, "B").End(3).Row
Uz = Len(s1.Cells(i, "B")) - 6
Abc = Left(s1.Cells(i, "B"), Uz)
For k = 1 To s2.Cells(2, 1).End(2).Column + 1
If s2.Cells(2, k) = "" Then Exit For
If Left(s2.Cells(2, k), Uz) = Abc Then Exit For
If Abc < Left(s2.Cells(2, k), Uz) Then
s2.Columns(k).Insert
Exit For
End If
Next k
j = s2.Cells(Rows.Count, k).End(3).Row + 1
s2.Cells(j, k) = s1.Cells(i, "B")
Next i
s2.Cells.EntireColumn.AutoFit
End Sub
Necdet hocam merhaba.
İlgine ve emeğine teşekkürler. Sizin yaptığınız da harika olmuş. Ufak bir aksaklık var. Şöyle ki:
AC120204 yazıp listeledikten sonra AC120203 yazdık mı bunu sıralamaya sokup AC120204'ün üstüne almıyor. Ayrıca butonla değil de yazıldığı anda listeleme şeklinde yaparsanız çok daha iyi olur. Şimdiden teşekkürler
Option Compare Text
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long, _
j As Long, _
k As Integer, _
Uz As Integer, _
Abc As String, _
s1 As Worksheet, _
s2 As Worksheet
If Intersect(Target, [B:B]) Is Nothing Then Exit Sub
If Len(Target.Value) < 7 Then
Target.Offset(0, 0).Select
Exit Sub
End If
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
Uz = Len(Target.Value) - 6
Abc = Left(Target.Value, Uz)
For k = 1 To s2.Cells(2, 1).End(2).Column + 1
If s2.Cells(2, k) = "" Then Exit For
If Left(s2.Cells(2, k), Uz) = Abc Then Exit For
If Abc < Left(s2.Cells(2, k), Uz) Then
s2.Columns(k).Insert
Exit For
End If
Next k
j = s2.Cells(Rows.Count, k).End(3).Row + 1
s2.Cells(j, k) = Target.Value
s2.Range(s2.Cells(2, k), s2.Cells(j, k)).Sort Key1:=s2.Cells(1, k)
s2.Cells.EntireColumn.AutoFit
End Sub
Sayın hocalarım. İlginize ve emeğinize teşekkür ediyorum. İkisi de harika oldu. Tam istediğim gibi.Tekrar teşekkürler