Tevfik_Kursun
Altın Üye
- Katılım
- 30 Temmuz 2012
- Mesajlar
- 3,903
- Excel Vers. ve Dili
- Office 2016 Pro - Türkçe 64 Bit
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub Parcala()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Zaman = Timer
Dim Son As Long, x As Long, Dizi()
Son = Cells(Rows.Count, "D").End(3).Row
Dizi = Range("D1").Resize(Son, 1).Value
ReDim Liste(1 To UBound(Dizi), 1 To 4)
For i = 1 To UBound(Dizi)
Liste(i, 1) = Left(Dizi(i, 1), 1) & Right(Dizi(i, 1), 1)
If Len(Dizi(i, 1)) > 2 Then Liste(i, 2) = Mid(Dizi(i, 1), Len(Dizi(i, 1)) - 1, 1) & Right(Dizi(i, 1), 1)
If Len(Dizi(i, 1)) > 3 Then Liste(i, 3) = Mid(Dizi(i, 1), Len(Dizi(i, 1)) - 2, 1) & Right(Dizi(i, 1), 1)
If Len(Dizi(i, 1)) > 4 Then Liste(i, 4) = Right(Dizi(i, 1), 2)
Next i
Range("E1").Resize(UBound(Dizi), 4) = Liste
[L1] = Format(Timer - Zaman, "0.00")
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Sub test()
Dim son&, mx As Byte, veri(), lst(), i&, ii As Byte
son = Cells(Rows.Count, 4).End(3).Row
'mx = Evaluate("MAX(LEN(D1:D" & son & "))")
mx = 4
veri = Range("D1:D" & son).Value
ReDim lst(1 To UBound(veri), 1 To mx)
For i = 1 To UBound(veri)
For ii = 1 To Len(veri(i, 1)) - 1
lst(i, ii) = Mid(veri(i, 1), ii, 1) & Right(veri(i, 1), 1)
Next ii
Next i
Range("E1").Resize(UBound(veri), mx).Value = lst
End Sub
Sub test()
Dim son&, mx As Byte, veri(), lst(), i&, ii As Byte, a$
son = Cells(Rows.Count, 4).End(3).Row
'mx = Evaluate("MAX(LEN(D1:D" & son & "))")
mx = 4
veri = Range("D1:D" & son).Value
ReDim lst(1 To UBound(veri), 1 To mx)
With CreateObject("Scripting.Dictionary")
For i = 1 To UBound(veri)
For ii = 1 To Len(veri(i, 1)) - 1
a = Mid(veri(i, 1), ii, 1) & Right(veri(i, 1), 1)
lst(i, ii) = a
.Item(a) = Null
Next ii
Next i
veri = .keys
End With
Range("E1").Resize(UBound(lst), mx).Value = lst
With Range("M1").Resize(UBound(veri), 1)
.Value = Application.Transpose(veri)
.Sort Range("M1")
End With
End Sub