• DİKKAT

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

sutundaki sayıları ve yazıları ayırma

Katılım
30 Aralık 2013
Mesajlar
1
Excel Vers. ve Dili
2013-turkçe
merhaba benim ihtiyacım olan program bir sütundaki sayıları olan satırları kopyalayıp b hucresine yapıştıran, yazıları ise C hücresine yapıştıran programa ihtiyacım var. yardımcı olursanız çok sevinirim.
 
Harf ve rakamların karışık bir şekilde Çalışma kitabınızın A sütununa yazıldığı varsayımı ile aşağıda ki kodlar ile harfleri B sütununa, rakamları da C sütununa yazdırabilirsiniz:
Kod:
Sub HARF_RAKAM_AYIR()
Dim sh As Worksheet, hc As Range, ss As Integer
Set sh = ThisWorkbook.ActiveSheet
ss = sh.Range("A:D").Find("*", , , , xlByRows, xlPrevious).Row
For i = 2 To ss
    Set hc = sh.Range("A" & i)
    
    For d = 1 To Len(hc.Value)
        If IsNumeric(Mid(hc.Value, d, 1)) = False Then
            harf = harf & Mid(hc.Value, d, 1)
        End If
        If IsNumeric(Mid(hc.Value, d, 1)) = True Then
            rakam = rakam & Mid(hc.Value, d, 1)
            
        End If
    Next d
    hc.Offset(0, 1).Value = harf
    Columns("C").NumberFormat = "@"
    hc.Offset(0, 2).Value = rakam
    harf = ""
    rakam = ""
Next i
MsgBox "işlem tamam", vbInformation, "işlem sonucu"
End Sub
 
@antonio; müsadenle yazdığın kodu değiştirdim.
Kod:
Dim sh As Worksheet, hc As Range, ss As Integer
Set sh = ThisWorkbook.ActiveSheet
ss = sh.Range("A:D").Find("*", , , , xlByRows, xlPrevious).Row
Dim ptr_1 As Integer
Dim ptr_2 As Integer
ptr_1 = 1
ptr_2 = 1
For i = 1 To ss
    Set hc = sh.Range("A" & i)
    
    If IsNumeric(hc.Value) Then
        Sayfa1.Range("B" & ptr_1).Value = hc.Value
        ptr_1 = ptr_1 + 1
    Else
        Sayfa1.Range("C" & ptr_2).Value = hc.Value
        ptr_2 = ptr_2 + 1
    End If
Next i
MsgBox "işlem tamam", vbInformation, "işlem sonucu"
 
@antonio; müsadenle yazdığın kodu değiştirdim.
Kod:
Dim sh As Worksheet, hc As Range, ss As Integer
Set sh = ThisWorkbook.ActiveSheet
ss = sh.Range("A:D").Find("*", , , , xlByRows, xlPrevious).Row
Dim ptr_1 As Integer
Dim ptr_2 As Integer
ptr_1 = 1
ptr_2 = 1
For i = 1 To ss
    Set hc = sh.Range("A" & i)
    
    If IsNumeric(hc.Value) Then
        Sayfa1.Range("B" & ptr_1).Value = hc.Value
        ptr_1 = ptr_1 + 1
    Else
        Sayfa1.Range("C" & ptr_2).Value = hc.Value
        ptr_2 = ptr_2 + 1
    End If
Next i
MsgBox "işlem tamam", vbInformation, "işlem sonucu"
 
Geri
Üst